Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UPX1:00478020 public start
- UPX1:00478020 start:
- UPX1:00478020 pusha
- UPX1:00478021 mov esi, offset dword_448000
- UPX1:00478026 lea edi, [esi-47000h]
- UPX1:0047802C push edi
- UPX1:0047802D mov ebp, esp
- UPX1:0047802F lea ebx, [esp-3E80h]
- UPX1:00478036 xor eax, eax
- UPX1:00478038
- UPX1:00478038 loc_478038: ; CODE XREF: UPX1:0047803B↓j
- UPX1:00478038 push eax
- UPX1:00478039 cmp esp, ebx
- UPX1:0047803B jnz short loc_478038
- UPX1:0047803D inc esi
- UPX1:0047803E inc esi
- UPX1:0047803F push ebx
- UPX1:00478040 push 768A7h
- UPX1:00478045 push edi
- UPX1:00478046 add ebx, 4
- UPX1:00478049 push ebx
- UPX1:0047804A push 30018h
- UPX1:0047804F push esi
- UPX1:00478050 add ebx, 4
- UPX1:00478053 push ebx
- UPX1:00478054 push eax
- UPX1:00478055 mov dword ptr [ebx], 20003h
- UPX1:0047805B nop
- UPX1:0047805C nop
- UPX1:0047805D nop
- UPX1:0047805E nop
- UPX1:0047805F nop
- UPX1:00478060 push ebp
- UPX1:00478061 push edi
- UPX1:00478062 push esi
- UPX1:00478063 push ebx
- UPX1:00478064 sub esp, 7Ch
- UPX1:00478067 mov edx, [esp+90h]
- UPX1:0047806E mov dword ptr [esp+74h], 0
- UPX1:00478076 mov byte ptr [esp+73h], 0
- UPX1:0047807B mov ebp, [esp+9Ch]
- UPX1:00478082 lea eax, [edx+4]
- UPX1:00478085 mov [esp+78h], eax
- UPX1:00478089 mov eax, 1
- UPX1:0047808E movzx ecx, byte ptr [edx+2]
- UPX1:00478092 mov ebx, eax
- UPX1:00478094 shl ebx, cl
- UPX1:00478096 mov ecx, ebx
- UPX1:00478098 dec ecx
- UPX1:00478099 mov [esp+6Ch], ecx
- UPX1:0047809D movzx ecx, byte ptr [edx+1]
- UPX1:004780A1 shl eax, cl
- UPX1:004780A3 dec eax
- UPX1:004780A4 mov [esp+68h], eax
- UPX1:004780A8 mov eax, [esp+0A8h]
- UPX1:004780AF movzx esi, byte ptr [edx]
- UPX1:004780B2 mov dword ptr [ebp+0], 0
- UPX1:004780B9 mov dword ptr [esp+60h], 0
- UPX1:004780C1 mov dword ptr [eax], 0
- UPX1:004780C7 mov eax, 300h
- UPX1:004780CC mov [esp+64h], esi
- UPX1:004780D0 mov dword ptr [esp+5Ch], 1
- UPX1:004780D8 mov dword ptr [esp+58h], 1
- UPX1:004780E0 mov dword ptr [esp+54h], 1
- UPX1:004780E8 mov dword ptr [esp+50h], 1
- UPX1:004780F0 movzx ecx, byte ptr [edx+1]
- UPX1:004780F4 add ecx, esi
- UPX1:004780F6 shl eax, cl
- UPX1:004780F8 lea ecx, [eax+736h]
- UPX1:004780FE cmp [esp+74h], ecx
- UPX1:00478102 jnb short loc_478112
- UPX1:00478104 mov eax, [esp+78h]
- UPX1:00478108
- UPX1:00478108 loc_478108: ; CODE XREF: UPX1:00478110↓j
- UPX1:00478108 mov word ptr [eax], 400h
- UPX1:0047810D add eax, 2
- UPX1:00478110 loop loc_478108
- UPX1:00478112
- UPX1:00478112 loc_478112: ; CODE XREF: UPX1:00478102↑j
- UPX1:00478112 mov ebx, [esp+94h]
- UPX1:00478119 xor edi, edi
- UPX1:0047811B mov dword ptr [esp+48h], 0FFFFFFFFh
- UPX1:00478123 mov edx, ebx
- UPX1:00478125 add edx, [esp+98h]
- UPX1:0047812C mov [esp+4Ch], edx
- UPX1:00478130 xor edx, edx
- UPX1:00478132
- UPX1:00478132 loc_478132: ; CODE XREF: UPX1:00478149↓j
- UPX1:00478132 cmp ebx, [esp+4Ch]
- UPX1:00478136 jz loc_478AB8
- UPX1:0047813C movzx eax, byte ptr [ebx]
- UPX1:0047813F shl edi, 8
- UPX1:00478142 inc edx
- UPX1:00478143 inc ebx
- UPX1:00478144 or edi, eax
- UPX1:00478146 cmp edx, 4
- UPX1:00478149 jle short loc_478132
- UPX1:0047814B mov ecx, [esp+0A4h]
- UPX1:00478152 cmp [esp+74h], ecx
- UPX1:00478156 jnb loc_478AC0
- UPX1:0047815C
- UPX1:0047815C loc_47815C: ; CODE XREF: UPX1:00478A9B↓j
- UPX1:0047815C mov esi, [esp+74h]
- UPX1:00478160 and esi, [esp+6Ch]
- UPX1:00478164 mov eax, [esp+60h]
- UPX1:00478168 mov edx, [esp+78h]
- UPX1:0047816C shl eax, 4
- UPX1:0047816F mov [esp+44h], esi
- UPX1:00478173 add eax, esi
- UPX1:00478175 cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:0047817D lea ebp, [edx+eax*2]
- UPX1:00478180 ja short loc_47819A
- UPX1:00478182 cmp ebx, [esp+4Ch]
- UPX1:00478186 jz loc_478AB8
- UPX1:0047818C shl dword ptr [esp+48h], 8
- UPX1:00478191 movzx eax, byte ptr [ebx]
- UPX1:00478194 shl edi, 8
- UPX1:00478197 inc ebx
- UPX1:00478198 or edi, eax
- UPX1:0047819A
- UPX1:0047819A loc_47819A: ; CODE XREF: UPX1:00478180↑j
- UPX1:0047819A mov eax, [esp+48h]
- UPX1:0047819E mov dx, [ebp+0]
- UPX1:004781A2 shr eax, 0Bh
- UPX1:004781A5 movzx ecx, dx
- UPX1:004781A8 imul eax, ecx
- UPX1:004781AB cmp edi, eax
- UPX1:004781AD jnb loc_478390
- UPX1:004781B3 mov [esp+48h], eax
- UPX1:004781B7 mov eax, 800h
- UPX1:004781BC sub eax, ecx
- UPX1:004781BE mov cl, [esp+64h]
- UPX1:004781C2 sar eax, 5
- UPX1:004781C5 mov esi, 1
- UPX1:004781CA lea eax, [edx+eax]
- UPX1:004781CD movzx edx, byte ptr [esp+73h]
- UPX1:004781D2 mov [ebp+0], ax
- UPX1:004781D6 mov eax, [esp+74h]
- UPX1:004781DA and eax, [esp+68h]
- UPX1:004781DE mov ebp, [esp+78h]
- UPX1:004781E2 shl eax, cl
- UPX1:004781E4 mov ecx, 8
- UPX1:004781E9 sub ecx, [esp+64h]
- UPX1:004781ED sar edx, cl
- UPX1:004781EF add eax, edx
- UPX1:004781F1 imul eax, 600h
- UPX1:004781F7 cmp dword ptr [esp+60h], 6
- UPX1:004781FC lea eax, [ebp+eax+0E6Ch]
- UPX1:00478203 mov [esp+14h], eax
- UPX1:00478207 jle loc_4782D7
- UPX1:0047820D mov eax, [esp+74h]
- UPX1:00478211 sub eax, [esp+5Ch]
- UPX1:00478215 mov edx, [esp+0A0h]
- UPX1:0047821C movzx eax, byte ptr [edx+eax]
- UPX1:00478220 mov [esp+40h], eax
- UPX1:00478224
- UPX1:00478224 loc_478224: ; CODE XREF: UPX1:004782C7↓j
- UPX1:00478224 shl dword ptr [esp+40h], 1
- UPX1:00478228 mov ecx, [esp+40h]
- UPX1:0047822C lea edx, [esi+esi]
- UPX1:0047822F mov ebp, [esp+14h]
- UPX1:00478233 and ecx, 100h
- UPX1:00478239 cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:00478241 lea eax, [ebp+ecx*2+0]
- UPX1:00478245 mov [esp+3Ch], ecx
- UPX1:00478249 lea ebp, [eax+edx]
- UPX1:0047824C ja short loc_478266
- UPX1:0047824E cmp ebx, [esp+4Ch]
- UPX1:00478252 jz loc_478AB8
- UPX1:00478258 shl dword ptr [esp+48h], 8
- UPX1:0047825D movzx eax, byte ptr [ebx]
- UPX1:00478260 shl edi, 8
- UPX1:00478263 inc ebx
- UPX1:00478264 or edi, eax
- UPX1:00478266
- UPX1:00478266 loc_478266: ; CODE XREF: UPX1:0047824C↑j
- UPX1:00478266 mov eax, [esp+48h]
- UPX1:0047826A mov cx, [ebp+200h]
- UPX1:00478271 shr eax, 0Bh
- UPX1:00478274 movzx esi, cx
- UPX1:00478277 imul eax, esi
- UPX1:0047827A cmp edi, eax
- UPX1:0047827C jnb short loc_4782A1
- UPX1:0047827E mov [esp+48h], eax
- UPX1:00478282 mov eax, 800h
- UPX1:00478287 sub eax, esi
- UPX1:00478289 mov esi, edx
- UPX1:0047828B sar eax, 5
- UPX1:0047828E cmp dword ptr [esp+3Ch], 0
- UPX1:00478293 lea eax, [ecx+eax]
- UPX1:00478296 mov [ebp+200h], ax
- UPX1:0047829D jz short loc_4782C1
- UPX1:0047829F jmp short loc_4782CF
- UPX1:004782A1 ; ---------------------------------------------------------------------------
- UPX1:004782A1
- UPX1:004782A1 loc_4782A1: ; CODE XREF: UPX1:0047827C↑j
- UPX1:004782A1 sub [esp+48h], eax
- UPX1:004782A5 sub edi, eax
- UPX1:004782A7 mov eax, ecx
- UPX1:004782A9 lea esi, [edx+1]
- UPX1:004782AC shr ax, 5
- UPX1:004782B0 sub cx, ax
- UPX1:004782B3 cmp dword ptr [esp+3Ch], 0
- UPX1:004782B8 mov [ebp+200h], cx
- UPX1:004782BF jz short loc_4782CF
- UPX1:004782C1
- UPX1:004782C1 loc_4782C1: ; CODE XREF: UPX1:0047829D↑j
- UPX1:004782C1 cmp esi, 0FFh
- UPX1:004782C7 jle loc_478224
- UPX1:004782CD jmp short loc_478348
- UPX1:004782CF ; ---------------------------------------------------------------------------
- UPX1:004782CF
- UPX1:004782CF loc_4782CF: ; CODE XREF: UPX1:0047829F↑j
- UPX1:004782CF ; UPX1:004782BF↑j ...
- UPX1:004782CF cmp esi, 0FFh
- UPX1:004782D5 jg short loc_478348
- UPX1:004782D7
- UPX1:004782D7 loc_4782D7: ; CODE XREF: UPX1:00478207↑j
- UPX1:004782D7 lea edx, [esi+esi]
- UPX1:004782DA mov ebp, [esp+14h]
- UPX1:004782DE add ebp, edx
- UPX1:004782E0 cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:004782E8 ja short loc_478302
- UPX1:004782EA cmp ebx, [esp+4Ch]
- UPX1:004782EE jz loc_478AB8
- UPX1:004782F4 shl dword ptr [esp+48h], 8
- UPX1:004782F9 movzx eax, byte ptr [ebx]
- UPX1:004782FC shl edi, 8
- UPX1:004782FF inc ebx
- UPX1:00478300 or edi, eax
- UPX1:00478302
- UPX1:00478302 loc_478302: ; CODE XREF: UPX1:004782E8↑j
- UPX1:00478302 mov eax, [esp+48h]
- UPX1:00478306 mov cx, [ebp+0]
- UPX1:0047830A shr eax, 0Bh
- UPX1:0047830D movzx esi, cx
- UPX1:00478310 imul eax, esi
- UPX1:00478313 cmp edi, eax
- UPX1:00478315 jnb short loc_478330
- UPX1:00478317 mov [esp+48h], eax
- UPX1:0047831B mov eax, 800h
- UPX1:00478320 sub eax, esi
- UPX1:00478322 mov esi, edx
- UPX1:00478324 sar eax, 5
- UPX1:00478327 lea eax, [ecx+eax]
- UPX1:0047832A mov [ebp+0], ax
- UPX1:0047832E jmp short loc_4782CF
- UPX1:00478330 ; ---------------------------------------------------------------------------
- UPX1:00478330
- UPX1:00478330 loc_478330: ; CODE XREF: UPX1:00478315↑j
- UPX1:00478330 sub [esp+48h], eax
- UPX1:00478334 sub edi, eax
- UPX1:00478336 mov eax, ecx
- UPX1:00478338 lea esi, [edx+1]
- UPX1:0047833B shr ax, 5
- UPX1:0047833F sub cx, ax
- UPX1:00478342 mov [ebp+0], cx
- UPX1:00478346 jmp short loc_4782CF
- UPX1:00478348 ; ---------------------------------------------------------------------------
- UPX1:00478348
- UPX1:00478348 loc_478348: ; CODE XREF: UPX1:004782CD↑j
- UPX1:00478348 ; UPX1:004782D5↑j
- UPX1:00478348 mov edx, [esp+74h]
- UPX1:0047834C mov eax, esi
- UPX1:0047834E mov ecx, [esp+0A0h]
- UPX1:00478355 mov [esp+73h], al
- UPX1:00478359 mov [edx+ecx], al
- UPX1:0047835C inc edx
- UPX1:0047835D cmp dword ptr [esp+60h], 3
- UPX1:00478362 mov [esp+74h], edx
- UPX1:00478366 jg short loc_478375
- UPX1:00478368 mov dword ptr [esp+60h], 0
- UPX1:00478370 jmp loc_478A90
- UPX1:00478375 ; ---------------------------------------------------------------------------
- UPX1:00478375
- UPX1:00478375 loc_478375: ; CODE XREF: UPX1:00478366↑j
- UPX1:00478375 cmp dword ptr [esp+60h], 9
- UPX1:0047837A jg short loc_478386
- UPX1:0047837C sub dword ptr [esp+60h], 3
- UPX1:00478381 jmp loc_478A90
- UPX1:00478386 ; ---------------------------------------------------------------------------
- UPX1:00478386
- UPX1:00478386 loc_478386: ; CODE XREF: UPX1:0047837A↑j
- UPX1:00478386 sub dword ptr [esp+60h], 6
- UPX1:0047838B jmp loc_478A90
- UPX1:00478390 ; ---------------------------------------------------------------------------
- UPX1:00478390
- UPX1:00478390 loc_478390: ; CODE XREF: UPX1:004781AD↑j
- UPX1:00478390 mov ecx, [esp+48h]
- UPX1:00478394 sub edi, eax
- UPX1:00478396 mov esi, [esp+60h]
- UPX1:0047839A sub ecx, eax
- UPX1:0047839C mov eax, edx
- UPX1:0047839E shr ax, 5
- UPX1:004783A2 sub dx, ax
- UPX1:004783A5 cmp ecx, 0FFFFFFh
- UPX1:004783AB mov [ebp+0], dx
- UPX1:004783AF mov ebp, [esp+78h]
- UPX1:004783B3 lea esi, [ebp+esi*2+0]
- UPX1:004783B7 mov [esp+38h], esi
- UPX1:004783BB ja short loc_4783D3
- UPX1:004783BD cmp ebx, [esp+4Ch]
- UPX1:004783C1 jz loc_478AB8
- UPX1:004783C7 movzx eax, byte ptr [ebx]
- UPX1:004783CA shl edi, 8
- UPX1:004783CD shl ecx, 8
- UPX1:004783D0 inc ebx
- UPX1:004783D1 or edi, eax
- UPX1:004783D3
- UPX1:004783D3 loc_4783D3: ; CODE XREF: UPX1:004783BB↑j
- UPX1:004783D3 mov ebp, [esp+38h]
- UPX1:004783D7 mov eax, ecx
- UPX1:004783D9 shr eax, 0Bh
- UPX1:004783DC mov dx, [ebp+180h]
- UPX1:004783E3 movzx ebp, dx
- UPX1:004783E6 imul eax, ebp
- UPX1:004783E9 cmp edi, eax
- UPX1:004783EB jnb short loc_47843F
- UPX1:004783ED mov esi, eax
- UPX1:004783EF mov eax, 800h
- UPX1:004783F4 sub eax, ebp
- UPX1:004783F6 mov ebp, [esp+58h]
- UPX1:004783FA sar eax, 5
- UPX1:004783FD mov ecx, [esp+54h]
- UPX1:00478401 lea eax, [edx+eax]
- UPX1:00478404 mov edx, [esp+38h]
- UPX1:00478408 mov [esp+50h], ecx
- UPX1:0047840C mov ecx, [esp+78h]
- UPX1:00478410 mov [edx+180h], ax
- UPX1:00478417 mov eax, [esp+5Ch]
- UPX1:0047841B mov [esp+54h], ebp
- UPX1:0047841F mov [esp+58h], eax
- UPX1:00478423 xor eax, eax
- UPX1:00478425 cmp dword ptr [esp+60h], 6
- UPX1:0047842A setnle al
- UPX1:0047842D add ecx, 664h
- UPX1:00478433 lea eax, [eax+eax*2]
- UPX1:00478436 mov [esp+60h], eax
- UPX1:0047843A jmp loc_4786B3
- UPX1:0047843F ; ---------------------------------------------------------------------------
- UPX1:0047843F
- UPX1:0047843F loc_47843F: ; CODE XREF: UPX1:004783EB↑j
- UPX1:0047843F mov esi, ecx
- UPX1:00478441 sub edi, eax
- UPX1:00478443 sub esi, eax
- UPX1:00478445 mov eax, edx
- UPX1:00478447 shr ax, 5
- UPX1:0047844B mov ecx, [esp+38h]
- UPX1:0047844F sub dx, ax
- UPX1:00478452 cmp esi, 0FFFFFFh
- UPX1:00478458 mov [ecx+180h], dx
- UPX1:0047845F ja short loc_478477
- UPX1:00478461 cmp ebx, [esp+4Ch]
- UPX1:00478465 jz loc_478AB8
- UPX1:0047846B movzx eax, byte ptr [ebx]
- UPX1:0047846E shl edi, 8
- UPX1:00478471 shl esi, 8
- UPX1:00478474 inc ebx
- UPX1:00478475 or edi, eax
- UPX1:00478477
- UPX1:00478477 loc_478477: ; CODE XREF: UPX1:0047845F↑j
- UPX1:00478477 mov ebp, [esp+38h]
- UPX1:0047847B mov edx, esi
- UPX1:0047847D shr edx, 0Bh
- UPX1:00478480 mov cx, [ebp+198h]
- UPX1:00478487 movzx eax, cx
- UPX1:0047848A imul edx, eax
- UPX1:0047848D cmp edi, edx
- UPX1:0047848F jnb loc_478578
- UPX1:00478495 mov ebp, 800h
- UPX1:0047849A mov esi, edx
- UPX1:0047849C sub ebp, eax
- UPX1:0047849E mov dword ptr [esp+34h], 800h
- UPX1:004784A6 mov eax, ebp
- UPX1:004784A8 sar eax, 5
- UPX1:004784AB lea eax, [ecx+eax]
- UPX1:004784AE mov ecx, [esp+38h]
- UPX1:004784B2 mov [ecx+198h], ax
- UPX1:004784B9 mov eax, [esp+60h]
- UPX1:004784BD mov ecx, [esp+44h]
- UPX1:004784C1 shl eax, 5
- UPX1:004784C4 add eax, [esp+78h]
- UPX1:004784C8 cmp edx, 0FFFFFFh
- UPX1:004784CE lea ebp, [eax+ecx*2]
- UPX1:004784D1 ja short loc_4784E9
- UPX1:004784D3 cmp ebx, [esp+4Ch]
- UPX1:004784D7 jz loc_478AB8
- UPX1:004784DD movzx eax, byte ptr [ebx]
- UPX1:004784E0 shl edi, 8
- UPX1:004784E3 shl esi, 8
- UPX1:004784E6 inc ebx
- UPX1:004784E7 or edi, eax
- UPX1:004784E9
- UPX1:004784E9 loc_4784E9: ; CODE XREF: UPX1:004784D1↑j
- UPX1:004784E9 mov dx, [ebp+1E0h]
- UPX1:004784F0 mov eax, esi
- UPX1:004784F2 shr eax, 0Bh
- UPX1:004784F5 movzx ecx, dx
- UPX1:004784F8 imul eax, ecx
- UPX1:004784FB cmp edi, eax
- UPX1:004784FD jnb short loc_47855F
- UPX1:004784FF sub [esp+34h], ecx
- UPX1:00478503 sar dword ptr [esp+34h], 5
- UPX1:00478508 mov esi, [esp+34h]
- UPX1:0047850C mov [esp+48h], eax
- UPX1:00478510 cmp dword ptr [esp+74h], 0
- UPX1:00478515 lea eax, [edx+esi]
- UPX1:00478518 mov [ebp+1E0h], ax
- UPX1:0047851F jz loc_478AB8
- UPX1:00478525 xor eax, eax
- UPX1:00478527 cmp dword ptr [esp+60h], 6
- UPX1:0047852C mov ebp, [esp+0A0h]
- UPX1:00478533 mov edx, [esp+74h]
- UPX1:00478537 setnle al
- UPX1:0047853A lea eax, [eax+eax+9]
- UPX1:0047853E mov [esp+60h], eax
- UPX1:00478542 mov eax, [esp+74h]
- UPX1:00478546 sub eax, [esp+5Ch]
- UPX1:0047854A mov al, [ebp+eax+0]
- UPX1:0047854E mov [esp+73h], al
- UPX1:00478552 mov [edx+ebp], al
- UPX1:00478555 inc edx
- UPX1:00478556 mov [esp+74h], edx
- UPX1:0047855A jmp loc_478A90
- UPX1:0047855F ; ---------------------------------------------------------------------------
- UPX1:0047855F
- UPX1:0047855F loc_47855F: ; CODE XREF: UPX1:004784FD↑j
- UPX1:0047855F sub esi, eax
- UPX1:00478561 sub edi, eax
- UPX1:00478563 mov eax, edx
- UPX1:00478565 shr ax, 5
- UPX1:00478569 sub dx, ax
- UPX1:0047856C mov [ebp+1E0h], dx
- UPX1:00478573 jmp loc_478697
- UPX1:00478578 ; ---------------------------------------------------------------------------
- UPX1:00478578
- UPX1:00478578 loc_478578: ; CODE XREF: UPX1:0047848F↑j
- UPX1:00478578 mov eax, ecx
- UPX1:0047857A sub esi, edx
- UPX1:0047857C shr ax, 5
- UPX1:00478580 mov ebp, [esp+38h]
- UPX1:00478584 sub cx, ax
- UPX1:00478587 sub edi, edx
- UPX1:00478589 cmp esi, 0FFFFFFh
- UPX1:0047858F mov [ebp+198h], cx
- UPX1:00478596 ja short loc_4785AE
- UPX1:00478598 cmp ebx, [esp+4Ch]
- UPX1:0047859C jz loc_478AB8
- UPX1:004785A2 movzx eax, byte ptr [ebx]
- UPX1:004785A5 shl edi, 8
- UPX1:004785A8 shl esi, 8
- UPX1:004785AB inc ebx
- UPX1:004785AC or edi, eax
- UPX1:004785AE
- UPX1:004785AE loc_4785AE: ; CODE XREF: UPX1:00478596↑j
- UPX1:004785AE mov ecx, [esp+38h]
- UPX1:004785B2 mov eax, esi
- UPX1:004785B4 shr eax, 0Bh
- UPX1:004785B7 mov dx, [ecx+1B0h]
- UPX1:004785BE movzx ecx, dx
- UPX1:004785C1 imul eax, ecx
- UPX1:004785C4 cmp edi, eax
- UPX1:004785C6 jnb short loc_4785EB
- UPX1:004785C8 mov esi, eax
- UPX1:004785CA mov eax, 800h
- UPX1:004785CF sub eax, ecx
- UPX1:004785D1 mov ebp, [esp+38h]
- UPX1:004785D5 sar eax, 5
- UPX1:004785D8 lea eax, [edx+eax]
- UPX1:004785DB mov [ebp+1B0h], ax
- UPX1:004785E2 mov eax, [esp+58h]
- UPX1:004785E6 jmp loc_47868B
- UPX1:004785EB ; ---------------------------------------------------------------------------
- UPX1:004785EB
- UPX1:004785EB loc_4785EB: ; CODE XREF: UPX1:004785C6↑j
- UPX1:004785EB mov ecx, esi
- UPX1:004785ED sub edi, eax
- UPX1:004785EF sub ecx, eax
- UPX1:004785F1 mov eax, edx
- UPX1:004785F3 shr ax, 5
- UPX1:004785F7 sub dx, ax
- UPX1:004785FA mov eax, [esp+38h]
- UPX1:004785FE cmp ecx, 0FFFFFFh
- UPX1:00478604 mov [eax+1B0h], dx
- UPX1:0047860B ja short loc_478623
- UPX1:0047860D cmp ebx, [esp+4Ch]
- UPX1:00478611 jz loc_478AB8
- UPX1:00478617 movzx eax, byte ptr [ebx]
- UPX1:0047861A shl edi, 8
- UPX1:0047861D shl ecx, 8
- UPX1:00478620 inc ebx
- UPX1:00478621 or edi, eax
- UPX1:00478623
- UPX1:00478623 loc_478623: ; CODE XREF: UPX1:0047860B↑j
- UPX1:00478623 mov esi, [esp+38h]
- UPX1:00478627 mov eax, ecx
- UPX1:00478629 shr eax, 0Bh
- UPX1:0047862C mov dx, [esi+1C8h]
- UPX1:00478633 movzx ebp, dx
- UPX1:00478636 imul eax, ebp
- UPX1:00478639 cmp edi, eax
- UPX1:0047863B jnb short loc_47865D
- UPX1:0047863D mov esi, eax
- UPX1:0047863F mov eax, 800h
- UPX1:00478644 sub eax, ebp
- UPX1:00478646 mov ebp, [esp+38h]
- UPX1:0047864A sar eax, 5
- UPX1:0047864D lea eax, [edx+eax]
- UPX1:00478650 mov [ebp+1C8h], ax
- UPX1:00478657 mov eax, [esp+54h]
- UPX1:0047865B jmp short loc_478683
- UPX1:0047865D ; ---------------------------------------------------------------------------
- UPX1:0047865D
- UPX1:0047865D loc_47865D: ; CODE XREF: UPX1:0047863B↑j
- UPX1:0047865D mov esi, ecx
- UPX1:0047865F sub edi, eax
- UPX1:00478661 sub esi, eax
- UPX1:00478663 mov eax, edx
- UPX1:00478665 shr ax, 5
- UPX1:00478669 sub dx, ax
- UPX1:0047866C mov eax, [esp+38h]
- UPX1:00478670 mov [eax+1C8h], dx
- UPX1:00478677 mov edx, [esp+54h]
- UPX1:0047867B mov eax, [esp+50h]
- UPX1:0047867F mov [esp+50h], edx
- UPX1:00478683
- UPX1:00478683 loc_478683: ; CODE XREF: UPX1:0047865B↑j
- UPX1:00478683 mov ecx, [esp+58h]
- UPX1:00478687 mov [esp+54h], ecx
- UPX1:0047868B
- UPX1:0047868B loc_47868B: ; CODE XREF: UPX1:004785E6↑j
- UPX1:0047868B mov ebp, [esp+5Ch]
- UPX1:0047868F mov [esp+5Ch], eax
- UPX1:00478693 mov [esp+58h], ebp
- UPX1:00478697
- UPX1:00478697 loc_478697: ; CODE XREF: UPX1:00478573↑j
- UPX1:00478697 xor eax, eax
- UPX1:00478699 cmp dword ptr [esp+60h], 6
- UPX1:0047869E mov ecx, [esp+78h]
- UPX1:004786A2 setnle al
- UPX1:004786A5 add ecx, 0A68h
- UPX1:004786AB lea eax, [eax+eax*2+8]
- UPX1:004786AF mov [esp+60h], eax
- UPX1:004786B3
- UPX1:004786B3 loc_4786B3: ; CODE XREF: UPX1:0047843A↑j
- UPX1:004786B3 cmp esi, 0FFFFFFh
- UPX1:004786B9 ja short loc_4786D1
- UPX1:004786BB cmp ebx, [esp+4Ch]
- UPX1:004786BF jz loc_478AB8
- UPX1:004786C5 movzx eax, byte ptr [ebx]
- UPX1:004786C8 shl edi, 8
- UPX1:004786CB shl esi, 8
- UPX1:004786CE inc ebx
- UPX1:004786CF or edi, eax
- UPX1:004786D1
- UPX1:004786D1 loc_4786D1: ; CODE XREF: UPX1:004786B9↑j
- UPX1:004786D1 mov dx, [ecx]
- UPX1:004786D4 mov eax, esi
- UPX1:004786D6 shr eax, 0Bh
- UPX1:004786D9 movzx ebp, dx
- UPX1:004786DC imul eax, ebp
- UPX1:004786DF cmp edi, eax
- UPX1:004786E1 jnb short loc_478712
- UPX1:004786E3 mov [esp+48h], eax
- UPX1:004786E7 mov eax, 800h
- UPX1:004786EC sub eax, ebp
- UPX1:004786EE shl dword ptr [esp+44h], 4
- UPX1:004786F3 sar eax, 5
- UPX1:004786F6 mov dword ptr [esp+2Ch], 0
- UPX1:004786FE lea eax, [edx+eax]
- UPX1:00478701 mov [ecx], ax
- UPX1:00478704 mov eax, [esp+44h]
- UPX1:00478708 lea ecx, [ecx+eax+4]
- UPX1:0047870C mov [esp+10h], ecx
- UPX1:00478710 jmp short loc_478784
- UPX1:00478712 ; ---------------------------------------------------------------------------
- UPX1:00478712
- UPX1:00478712 loc_478712: ; CODE XREF: UPX1:004786E1↑j
- UPX1:00478712 sub esi, eax
- UPX1:00478714 sub edi, eax
- UPX1:00478716 mov eax, edx
- UPX1:00478718 shr ax, 5
- UPX1:0047871C sub dx, ax
- UPX1:0047871F cmp esi, 0FFFFFFh
- UPX1:00478725 mov [ecx], dx
- UPX1:00478728 ja short loc_478740
- UPX1:0047872A cmp ebx, [esp+4Ch]
- UPX1:0047872E jz loc_478AB8
- UPX1:00478734 movzx eax, byte ptr [ebx]
- UPX1:00478737 shl edi, 8
- UPX1:0047873A shl esi, 8
- UPX1:0047873D inc ebx
- UPX1:0047873E or edi, eax
- UPX1:00478740
- UPX1:00478740 loc_478740: ; CODE XREF: UPX1:00478728↑j
- UPX1:00478740 mov dx, [ecx+2]
- UPX1:00478744 mov eax, esi
- UPX1:00478746 shr eax, 0Bh
- UPX1:00478749 movzx ebp, dx
- UPX1:0047874C imul eax, ebp
- UPX1:0047874F cmp edi, eax
- UPX1:00478751 jnb short loc_47878E
- UPX1:00478753 mov [esp+48h], eax
- UPX1:00478757 mov eax, 800h
- UPX1:0047875C sub eax, ebp
- UPX1:0047875E shl dword ptr [esp+44h], 4
- UPX1:00478763 sar eax, 5
- UPX1:00478766 mov dword ptr [esp+2Ch], 8
- UPX1:0047876E lea eax, [edx+eax]
- UPX1:00478771 mov edx, [esp+44h]
- UPX1:00478775 mov [ecx+2], ax
- UPX1:00478779 lea ecx, [ecx+edx+104h]
- UPX1:00478780 mov [esp+10h], ecx
- UPX1:00478784
- UPX1:00478784 loc_478784: ; CODE XREF: UPX1:00478710↑j
- UPX1:00478784 mov dword ptr [esp+30h], 3
- UPX1:0047878C jmp short loc_4787BD
- UPX1:0047878E ; ---------------------------------------------------------------------------
- UPX1:0047878E
- UPX1:0047878E loc_47878E: ; CODE XREF: UPX1:00478751↑j
- UPX1:0047878E sub esi, eax
- UPX1:00478790 sub edi, eax
- UPX1:00478792 mov eax, edx
- UPX1:00478794 mov [esp+48h], esi
- UPX1:00478798 shr ax, 5
- UPX1:0047879C mov dword ptr [esp+2Ch], 10h
- UPX1:004787A4 sub dx, ax
- UPX1:004787A7 mov dword ptr [esp+30h], 8
- UPX1:004787AF mov [ecx+2], dx
- UPX1:004787B3 add ecx, 204h
- UPX1:004787B9 mov [esp+10h], ecx
- UPX1:004787BD
- UPX1:004787BD loc_4787BD: ; CODE XREF: UPX1:0047878C↑j
- UPX1:004787BD mov ecx, [esp+30h]
- UPX1:004787C1 mov edx, 1
- UPX1:004787C6 mov [esp+28h], ecx
- UPX1:004787CA
- UPX1:004787CA loc_4787CA: ; CODE XREF: UPX1:0047883F↓j
- UPX1:004787CA lea ebp, [edx+edx]
- UPX1:004787CD mov esi, [esp+10h]
- UPX1:004787D1 add esi, ebp
- UPX1:004787D3 cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:004787DB ja short loc_4787F5
- UPX1:004787DD cmp ebx, [esp+4Ch]
- UPX1:004787E1 jz loc_478AB8
- UPX1:004787E7 shl dword ptr [esp+48h], 8
- UPX1:004787EC movzx eax, byte ptr [ebx]
- UPX1:004787EF shl edi, 8
- UPX1:004787F2 inc ebx
- UPX1:004787F3 or edi, eax
- UPX1:004787F5
- UPX1:004787F5 loc_4787F5: ; CODE XREF: UPX1:004787DB↑j
- UPX1:004787F5 mov eax, [esp+48h]
- UPX1:004787F9 mov dx, [esi]
- UPX1:004787FC shr eax, 0Bh
- UPX1:004787FF movzx ecx, dx
- UPX1:00478802 imul eax, ecx
- UPX1:00478805 cmp edi, eax
- UPX1:00478807 jnb short loc_478821
- UPX1:00478809 mov [esp+48h], eax
- UPX1:0047880D mov eax, 800h
- UPX1:00478812 sub eax, ecx
- UPX1:00478814 sar eax, 5
- UPX1:00478817 lea eax, [edx+eax]
- UPX1:0047881A mov edx, ebp
- UPX1:0047881C mov [esi], ax
- UPX1:0047881F jmp short loc_478836
- UPX1:00478821 ; ---------------------------------------------------------------------------
- UPX1:00478821
- UPX1:00478821 loc_478821: ; CODE XREF: UPX1:00478807↑j
- UPX1:00478821 sub [esp+48h], eax
- UPX1:00478825 sub edi, eax
- UPX1:00478827 mov eax, edx
- UPX1:00478829 shr ax, 5
- UPX1:0047882D sub dx, ax
- UPX1:00478830 mov [esi], dx
- UPX1:00478833 lea edx, [ebp+1]
- UPX1:00478836
- UPX1:00478836 loc_478836: ; CODE XREF: UPX1:0047881F↑j
- UPX1:00478836 mov esi, [esp+28h]
- UPX1:0047883A dec esi
- UPX1:0047883B mov [esp+28h], esi
- UPX1:0047883F jnz short loc_4787CA
- UPX1:00478841 mov cl, [esp+30h]
- UPX1:00478845 mov eax, 1
- UPX1:0047884A shl eax, cl
- UPX1:0047884C sub edx, eax
- UPX1:0047884E add edx, [esp+2Ch]
- UPX1:00478852 cmp dword ptr [esp+60h], 3
- UPX1:00478857 mov [esp+0Ch], edx
- UPX1:0047885B jg loc_478A48
- UPX1:00478861 add dword ptr [esp+60h], 7
- UPX1:00478866 cmp edx, 3
- UPX1:00478869 mov eax, edx
- UPX1:0047886B jle short loc_478872
- UPX1:0047886D mov eax, 3
- UPX1:00478872
- UPX1:00478872 loc_478872: ; CODE XREF: UPX1:0047886B↑j
- UPX1:00478872 mov esi, [esp+78h]
- UPX1:00478876 shl eax, 7
- UPX1:00478879 mov dword ptr [esp+24h], 6
- UPX1:00478881 lea eax, [esi+eax+360h]
- UPX1:00478888 mov [esp+8], eax
- UPX1:0047888C mov eax, 1
- UPX1:00478891
- UPX1:00478891 loc_478891: ; CODE XREF: UPX1:00478906↓j
- UPX1:00478891 lea ebp, [eax+eax]
- UPX1:00478894 mov esi, [esp+8]
- UPX1:00478898 add esi, ebp
- UPX1:0047889A cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:004788A2 ja short loc_4788BC
- UPX1:004788A4 cmp ebx, [esp+4Ch]
- UPX1:004788A8 jz loc_478AB8
- UPX1:004788AE shl dword ptr [esp+48h], 8
- UPX1:004788B3 movzx eax, byte ptr [ebx]
- UPX1:004788B6 shl edi, 8
- UPX1:004788B9 inc ebx
- UPX1:004788BA or edi, eax
- UPX1:004788BC
- UPX1:004788BC loc_4788BC: ; CODE XREF: UPX1:004788A2↑j
- UPX1:004788BC mov eax, [esp+48h]
- UPX1:004788C0 mov dx, [esi]
- UPX1:004788C3 shr eax, 0Bh
- UPX1:004788C6 movzx ecx, dx
- UPX1:004788C9 imul eax, ecx
- UPX1:004788CC cmp edi, eax
- UPX1:004788CE jnb short loc_4788E8
- UPX1:004788D0 mov [esp+48h], eax
- UPX1:004788D4 mov eax, 800h
- UPX1:004788D9 sub eax, ecx
- UPX1:004788DB sar eax, 5
- UPX1:004788DE lea eax, [edx+eax]
- UPX1:004788E1 mov [esi], ax
- UPX1:004788E4 mov eax, ebp
- UPX1:004788E6 jmp short loc_4788FD
- UPX1:004788E8 ; ---------------------------------------------------------------------------
- UPX1:004788E8
- UPX1:004788E8 loc_4788E8: ; CODE XREF: UPX1:004788CE↑j
- UPX1:004788E8 sub [esp+48h], eax
- UPX1:004788EC sub edi, eax
- UPX1:004788EE mov eax, edx
- UPX1:004788F0 shr ax, 5
- UPX1:004788F4 sub dx, ax
- UPX1:004788F7 lea eax, [ebp+1]
- UPX1:004788FA mov [esi], dx
- UPX1:004788FD
- UPX1:004788FD loc_4788FD: ; CODE XREF: UPX1:004788E6↑j
- UPX1:004788FD mov ebp, [esp+24h]
- UPX1:00478901 dec ebp
- UPX1:00478902 mov [esp+24h], ebp
- UPX1:00478906 jnz short loc_478891
- UPX1:00478908 lea edx, [eax-40h]
- UPX1:0047890B cmp edx, 3
- UPX1:0047890E mov [esp], edx
- UPX1:00478911 jle loc_478A3E
- UPX1:00478917 mov eax, edx
- UPX1:00478919 mov esi, edx
- UPX1:0047891B sar eax, 1
- UPX1:0047891D and esi, 1
- UPX1:00478920 lea ecx, [eax-1]
- UPX1:00478923 or esi, 2
- UPX1:00478926 cmp edx, 0Dh
- UPX1:00478929 mov [esp+20h], ecx
- UPX1:0047892D jg short loc_47894B
- UPX1:0047892F mov ebp, [esp+78h]
- UPX1:00478933 shl esi, cl
- UPX1:00478935 add edx, edx
- UPX1:00478937 mov [esp], esi
- UPX1:0047893A lea eax, [ebp+esi*2+0]
- UPX1:0047893E sub eax, edx
- UPX1:00478940 add eax, 55Eh
- UPX1:00478945 mov [esp+4], eax
- UPX1:00478949 jmp short loc_4789A1
- UPX1:0047894B ; ---------------------------------------------------------------------------
- UPX1:0047894B
- UPX1:0047894B loc_47894B: ; CODE XREF: UPX1:0047892D↑j
- UPX1:0047894B lea edx, [eax-5]
- UPX1:0047894E
- UPX1:0047894E loc_47894E: ; CODE XREF: UPX1:00478984↓j
- UPX1:0047894E cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:00478956 ja short loc_478970
- UPX1:00478958 cmp ebx, [esp+4Ch]
- UPX1:0047895C jz loc_478AB8
- UPX1:00478962 shl dword ptr [esp+48h], 8
- UPX1:00478967 movzx eax, byte ptr [ebx]
- UPX1:0047896A shl edi, 8
- UPX1:0047896D inc ebx
- UPX1:0047896E or edi, eax
- UPX1:00478970
- UPX1:00478970 loc_478970: ; CODE XREF: UPX1:00478956↑j
- UPX1:00478970 shr dword ptr [esp+48h], 1
- UPX1:00478974 add esi, esi
- UPX1:00478976 cmp edi, [esp+48h]
- UPX1:0047897A jb short loc_478983
- UPX1:0047897C sub edi, [esp+48h]
- UPX1:00478980 or esi, 1
- UPX1:00478983
- UPX1:00478983 loc_478983: ; CODE XREF: UPX1:0047897A↑j
- UPX1:00478983 dec edx
- UPX1:00478984 jnz short loc_47894E
- UPX1:00478986 mov eax, [esp+78h]
- UPX1:0047898A shl esi, 4
- UPX1:0047898D mov [esp], esi
- UPX1:00478990 add eax, 644h
- UPX1:00478995 mov dword ptr [esp+20h], 4
- UPX1:0047899D mov [esp+4], eax
- UPX1:004789A1
- UPX1:004789A1 loc_4789A1: ; CODE XREF: UPX1:00478949↑j
- UPX1:004789A1 mov dword ptr [esp+1Ch], 1
- UPX1:004789A9 mov eax, 1
- UPX1:004789AE
- UPX1:004789AE loc_4789AE: ; CODE XREF: UPX1:00478A38↓j
- UPX1:004789AE mov ebp, [esp+4]
- UPX1:004789B2 add eax, eax
- UPX1:004789B4 mov [esp+18h], eax
- UPX1:004789B8 add ebp, eax
- UPX1:004789BA cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:004789C2 ja short loc_4789DC
- UPX1:004789C4 cmp ebx, [esp+4Ch]
- UPX1:004789C8 jz loc_478AB8
- UPX1:004789CE shl dword ptr [esp+48h], 8
- UPX1:004789D3 movzx eax, byte ptr [ebx]
- UPX1:004789D6 shl edi, 8
- UPX1:004789D9 inc ebx
- UPX1:004789DA or edi, eax
- UPX1:004789DC
- UPX1:004789DC loc_4789DC: ; CODE XREF: UPX1:004789C2↑j
- UPX1:004789DC mov eax, [esp+48h]
- UPX1:004789E0 mov dx, [ebp+0]
- UPX1:004789E4 shr eax, 0Bh
- UPX1:004789E7 movzx esi, dx
- UPX1:004789EA imul eax, esi
- UPX1:004789ED cmp edi, eax
- UPX1:004789EF jnb short loc_478A0C
- UPX1:004789F1 mov [esp+48h], eax
- UPX1:004789F5 mov eax, 800h
- UPX1:004789FA sub eax, esi
- UPX1:004789FC sar eax, 5
- UPX1:004789FF lea eax, [edx+eax]
- UPX1:00478A02 mov [ebp+0], ax
- UPX1:00478A06 mov eax, [esp+18h]
- UPX1:00478A0A jmp short loc_478A2B
- UPX1:00478A0C ; ---------------------------------------------------------------------------
- UPX1:00478A0C
- UPX1:00478A0C loc_478A0C: ; CODE XREF: UPX1:004789EF↑j
- UPX1:00478A0C sub [esp+48h], eax
- UPX1:00478A10 sub edi, eax
- UPX1:00478A12 mov eax, edx
- UPX1:00478A14 shr ax, 5
- UPX1:00478A18 sub dx, ax
- UPX1:00478A1B mov eax, [esp+18h]
- UPX1:00478A1F mov [ebp+0], dx
- UPX1:00478A23 mov edx, [esp+1Ch]
- UPX1:00478A27 inc eax
- UPX1:00478A28 or [esp], edx
- UPX1:00478A2B
- UPX1:00478A2B loc_478A2B: ; CODE XREF: UPX1:00478A0A↑j
- UPX1:00478A2B mov ecx, [esp+20h]
- UPX1:00478A2F shl dword ptr [esp+1Ch], 1
- UPX1:00478A33 dec ecx
- UPX1:00478A34 mov [esp+20h], ecx
- UPX1:00478A38 jnz loc_4789AE
- UPX1:00478A3E
- UPX1:00478A3E loc_478A3E: ; CODE XREF: UPX1:00478911↑j
- UPX1:00478A3E mov esi, [esp]
- UPX1:00478A41 inc esi
- UPX1:00478A42 mov [esp+5Ch], esi
- UPX1:00478A46 jz short loc_478AA1
- UPX1:00478A48
- UPX1:00478A48 loc_478A48: ; CODE XREF: UPX1:0047885B↑j
- UPX1:00478A48 mov ecx, [esp+0Ch]
- UPX1:00478A4C mov ebp, [esp+74h]
- UPX1:00478A50 add ecx, 2
- UPX1:00478A53 cmp [esp+5Ch], ebp
- UPX1:00478A57 ja short loc_478AB8
- UPX1:00478A59 mov eax, [esp+0A0h]
- UPX1:00478A60 mov edx, ebp
- UPX1:00478A62 sub eax, [esp+5Ch]
- UPX1:00478A66 add edx, [esp+0A0h]
- UPX1:00478A6D lea esi, [eax+ebp]
- UPX1:00478A70
- UPX1:00478A70 loc_478A70: ; CODE XREF: UPX1:00478A8C↓j
- UPX1:00478A70 mov al, [esi]
- UPX1:00478A72 inc esi
- UPX1:00478A73 mov [esp+73h], al
- UPX1:00478A77 mov [edx], al
- UPX1:00478A79 inc edx
- UPX1:00478A7A inc dword ptr [esp+74h]
- UPX1:00478A7E dec ecx
- UPX1:00478A7F jz short loc_478A90
- UPX1:00478A81 mov ebp, [esp+0A4h]
- UPX1:00478A88 cmp [esp+74h], ebp
- UPX1:00478A8C jb short loc_478A70
- UPX1:00478A8E jmp short loc_478AA1
- UPX1:00478A90 ; ---------------------------------------------------------------------------
- UPX1:00478A90
- UPX1:00478A90 loc_478A90: ; CODE XREF: UPX1:00478370↑j
- UPX1:00478A90 ; UPX1:00478381↑j ...
- UPX1:00478A90 mov eax, [esp+0A4h]
- UPX1:00478A97 cmp [esp+74h], eax
- UPX1:00478A9B jb loc_47815C
- UPX1:00478AA1
- UPX1:00478AA1 loc_478AA1: ; CODE XREF: UPX1:00478A46↑j
- UPX1:00478AA1 ; UPX1:00478A8E↑j
- UPX1:00478AA1 cmp dword ptr [esp+48h], 0FFFFFFh
- UPX1:00478AA9 ja short loc_478AC0
- UPX1:00478AAB cmp ebx, [esp+4Ch]
- UPX1:00478AAF mov eax, 1
- UPX1:00478AB4 jz short loc_478ADF
- UPX1:00478AB6 jmp short loc_478ABF
- UPX1:00478AB8 ; ---------------------------------------------------------------------------
- UPX1:00478AB8
- UPX1:00478AB8 loc_478AB8: ; CODE XREF: UPX1:00478136↑j
- UPX1:00478AB8 ; UPX1:00478186↑j ...
- UPX1:00478AB8 mov eax, 1
- UPX1:00478ABD jmp short loc_478ADF
- UPX1:00478ABF ; ---------------------------------------------------------------------------
- UPX1:00478ABF
- UPX1:00478ABF loc_478ABF: ; CODE XREF: UPX1:00478AB6↑j
- UPX1:00478ABF inc ebx
- UPX1:00478AC0
- UPX1:00478AC0 loc_478AC0: ; CODE XREF: UPX1:00478156↑j
- UPX1:00478AC0 ; UPX1:00478AA9↑j
- UPX1:00478AC0 sub ebx, [esp+94h]
- UPX1:00478AC7 xor eax, eax
- UPX1:00478AC9 mov edx, [esp+9Ch]
- UPX1:00478AD0 mov ecx, [esp+74h]
- UPX1:00478AD4 mov [edx], ebx
- UPX1:00478AD6 mov ebx, [esp+0A8h]
- UPX1:00478ADD mov [ebx], ecx
- UPX1:00478ADF
- UPX1:00478ADF loc_478ADF: ; CODE XREF: UPX1:00478AB4↑j
- UPX1:00478ADF ; UPX1:00478ABD↑j
- UPX1:00478ADF add esp, 7Ch
- UPX1:00478AE2 pop ebx
- UPX1:00478AE3 pop esi
- UPX1:00478AE4 pop edi
- UPX1:00478AE5 pop ebp
- UPX1:00478AE6 add esi, [ebx-4]
- UPX1:00478AE9 add edi, [ebx-8]
- UPX1:00478AEC xor eax, eax
- UPX1:00478AEE lea ecx, [esp-100h]
- UPX1:00478AF5 mov esp, ebp
- UPX1:00478AF7
- UPX1:00478AF7 loc_478AF7: ; CODE XREF: UPX1:00478AFA↓j
- UPX1:00478AF7 push eax
- UPX1:00478AF8 cmp esp, ecx
- UPX1:00478AFA jnz short loc_478AF7
- UPX1:00478AFC mov esp, ebp
- UPX1:00478AFE xor ecx, ecx
- UPX1:00478B00 pop esi
- UPX1:00478B01 mov edi, esi
- UPX1:00478B03 mov ecx, 58800h
- UPX1:00478B08 jmp short loc_478B3C
- UPX1:00478B0A ; ---------------------------------------------------------------------------
- UPX1:00478B0A
- UPX1:00478B0A loc_478B0A: ; CODE XREF: UPX1:00478B49↓j
- UPX1:00478B0A mov al, [edi]
- UPX1:00478B0C add edi, 1
- UPX1:00478B0F cmp al, 80h
- UPX1:00478B11 jb short loc_478B1D
- UPX1:00478B13 cmp al, 8Fh
- UPX1:00478B15 ja short loc_478B1D
- UPX1:00478B17 cmp byte ptr [edi-2], 0Fh
- UPX1:00478B1B jz short loc_478B23
- UPX1:00478B1D
- UPX1:00478B1D loc_478B1D: ; CODE XREF: UPX1:00478B11↑j
- UPX1:00478B1D ; UPX1:00478B15↑j ...
- UPX1:00478B1D sub al, 0E8h
- UPX1:00478B1F cmp al, 1
- UPX1:00478B21 ja short loc_478B46
- UPX1:00478B23
- UPX1:00478B23 loc_478B23: ; CODE XREF: UPX1:00478B1B↑j
- UPX1:00478B23 cmp byte ptr [edi], 27h
- UPX1:00478B26 jnz short loc_478B46
- UPX1:00478B28 mov eax, [edi]
- UPX1:00478B2A shr ax, 8
- UPX1:00478B2E rol eax, 10h
- UPX1:00478B31 xchg al, ah
- UPX1:00478B33 sub eax, edi
- UPX1:00478B35 add eax, esi
- UPX1:00478B37 mov [edi], eax
- UPX1:00478B39 add edi, 4
- UPX1:00478B3C
- UPX1:00478B3C loc_478B3C: ; CODE XREF: UPX1:00478B08↑j
- UPX1:00478B3C sub ecx, 4
- UPX1:00478B3F mov al, [edi]
- UPX1:00478B41 add edi, 1
- UPX1:00478B44 loop loc_478B1D
- UPX1:00478B46
- UPX1:00478B46 loc_478B46: ; CODE XREF: UPX1:00478B21↑j
- UPX1:00478B46 ; UPX1:00478B26↑j
- UPX1:00478B46 sub ecx, 1
- UPX1:00478B49 jg short loc_478B0A
- UPX1:00478B4B lea edi, [esi+75000h]
- UPX1:00478B51
- UPX1:00478B51 loc_478B51: ; CODE XREF: UPX1:00478B73↓j
- UPX1:00478B51 mov eax, [edi]
- UPX1:00478B53 or eax, eax
- UPX1:00478B55 jz short loc_478B9C
- UPX1:00478B57 mov ebx, [edi+4]
- UPX1:00478B5A lea eax, [eax+esi+808ECh]
- UPX1:00478B61 add ebx, esi
- UPX1:00478B63 push eax
- UPX1:00478B64 add edi, 8
- UPX1:00478B67 call dword ptr [esi+809F0h]
- UPX1:00478B6D xchg eax, ebp
- UPX1:00478B6E
- UPX1:00478B6E loc_478B6E: ; CODE XREF: UPX1:00478B94↓j
- UPX1:00478B6E mov al, [edi]
- UPX1:00478B70 inc edi
- UPX1:00478B71 or al, al
- UPX1:00478B73 jz short loc_478B51
- UPX1:00478B75 mov ecx, edi
- UPX1:00478B77 jns short near ptr loc_478B7F+1
- UPX1:00478B79 movzx eax, word ptr [edi]
- UPX1:00478B7C inc edi
- UPX1:00478B7D push eax
- UPX1:00478B7E inc edi
- UPX1:00478B7F
- UPX1:00478B7F loc_478B7F: ; CODE XREF: UPX1:00478B77↑j
- UPX1:00478B7F mov ecx, 0AEF24857h
- UPX1:00478B84 push ebp
- UPX1:00478B85 call dword ptr [esi+809F4h]
- UPX1:00478B8B or eax, eax
- UPX1:00478B8D jz short loc_478B96
- UPX1:00478B8F mov [ebx], eax
- UPX1:00478B91 add ebx, 4
- UPX1:00478B94 jmp short loc_478B6E
- UPX1:00478B96 ; ---------------------------------------------------------------------------
- UPX1:00478B96
- UPX1:00478B96 loc_478B96: ; CODE XREF: UPX1:00478B8D↑j
- UPX1:00478B96 call dword ptr [esi+80A04h]
- UPX1:00478B9C
- UPX1:00478B9C loc_478B9C: ; CODE XREF: UPX1:00478B55↑j
- UPX1:00478B9C mov ebp, [esi+809F8h]
- UPX1:00478BA2 lea edi, [esi-1000h]
- UPX1:00478BA8 mov ebx, 1000h
- UPX1:00478BAD push eax
- UPX1:00478BAE push esp
- UPX1:00478BAF push 4
- UPX1:00478BB1 push ebx
- UPX1:00478BB2 push edi
- UPX1:00478BB3 call ebp
- UPX1:00478BB5 lea eax, [edi+22Fh]
- UPX1:00478BBB and byte ptr [eax], 7Fh
- UPX1:00478BBE and byte ptr [eax+28h], 7Fh
- UPX1:00478BC2 pop eax
- UPX1:00478BC3 push eax
- UPX1:00478BC4 push esp
- UPX1:00478BC5 push eax
- UPX1:00478BC6 push ebx
- UPX1:00478BC7 push edi
- UPX1:00478BC8 call ebp
- UPX1:00478BCA pop eax
- UPX1:00478BCB popa
- UPX1:00478BCC lea eax, [esp-80h]
- UPX1:00478BD0
- UPX1:00478BD0 loc_478BD0: ; CODE XREF: UPX1:00478BD4↓j
- UPX1:00478BD0 push 0
- UPX1:00478BD2 cmp esp, eax
- UPX1:00478BD4 jnz short loc_478BD0
- UPX1:00478BD6 sub esp, 0FFFFFF80h
- UPX1:00478BD9 jmp near ptr byte_442B4F
- UPX1:00478BD9 ; ---------------------------------------------------------------------------
- UPX1:00478BDE align 40h
- UPX1:00478C00 dd 100h dup(?)
- UPX1:00478C00 UPX1 ends
- UPX1:00478C00
- UPX1:00478C00
- UPX1:00478C00 end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement