Function at 0x41f8a0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2f8
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x140], 0x916a6b7d
mov byte [esp + 0x144], 0x9c
mov dword [esp + 0x145], 0
xor ecx, ecx
nop
nop
nop
mov edx, ecx
add dl, 0x5a
xor dl, byte [esp + ecx + 0x140]
add dl, 0x3e
mov byte [esp + ecx + 0x140], dl
inc ecx
cmp ecx, 9
jne 0x41f8f0
mov ebx, dword [esi]
movzx ecx, byte [esp + 0x140]
test cl, cl
je 0x41f93b
lea edx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41f930
mov edi, ebx
mov byte [ebx], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x48]
lea edx, [esp + 0x58]
lea ebx, [esp + 0x34]
push ecx
push edx
push ebx
mov ecx, dword [ebp + 0x14]
push dword [ecx + 0x10]
push eax
push dword [ecx + 0xc]
call fcn.00422090
add esp, 0x18
test al, al
je 0x420170
mov dword [esp + 0x140], 0x8b2b3534
mov byte [esp + 0x144], 0x80
mov word [esp + 0x145], 0
mov byte [esp + 0x147], 0
mov eax, 0x301fbd61
mov ecx, 0x4fe0429e
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x301fbc21]
mov ebx, ecx
and ebx, 0x47a00092
mov edx, eax
and edx, 0x301e194d
or edx, ebx
xor edx, esi
lea esi, [edx + edx]
and esi, 0x34
xor esi, 0x24
mov ebx, edx
xor ebx, 0xa8
add ebx, esi
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + eax - 0x301fbc21], bl
inc eax
dec ecx
cmp eax, 0x301fbd69
jne 0x41f9c0
movzx eax, byte [esp + 0x140]
test al, al
je 0x41fa2b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fa20
mov dword [esp + 4], edi
mov byte [edi], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], eax
mov dword [esp + 0x140], 0xeadeee4b
mov dword [esp + 0x144], 0xcbcae9c4
mov dword [esp + 0x148], 0x39c9c2f7
mov dword [esp + 0x14c], 0x34373631
mov dword [esp + 0x150], 0xdac13fe4
mov dword [esp + 0x154], 0x2bd2d8c6
mov dword [esp + 0x158], 0x2023222d
mov dword [esp + 0x15c], 0x202ffbfe
mov dword [esp + 0x160], 0xc2e5d2d9
mov dword [esp + 0x164], 0xd4d4f6e1
mov dword [esp + 0x168], 0xfe07c818
mov dword [esp + 0x16c], 0x1e4ffda
mov dword [esp + 0x170], 0xeec204
mov dword [esp + 0x174], 0xd8db1a02
mov dword [esp + 0x178], 0xc9070ac5
mov dword [esp + 0x17c], 0x4070601
mov dword [esp + 0x180], 0x2a1d1fd9
mov dword [esp + 0x184], 0xfceb10ff
mov dword [esp + 0x188], 0xf009170c
mov dword [esp + 0x18c], 0xfff7f6f1
mov dword [esp + 0x190], 0xe8ebea0a
mov dword [esp + 0x194], 0x2219e6e9
mov dword [esp + 0x198], 0xf5f216e6
mov dword [esp + 0x19c], 0x13f61712
mov dword [esp + 0x1a0], 0xd8dbdae5
mov dword [esp + 0x1a4], 0x3aced605
mov dword [esp + 0x1a8], 0xfd502dd
mov dword [esp + 0x1ac], 0xd4c330d9
mov dword [esp + 0x1b0], 0xc8cbcad5
mov dword [esp + 0x1b4], 0x30cfcec9
mov dword [esp + 0x1b8], 0xc61116d9
mov dword [esp + 0x1bc], 0xc4c7c6c1
mov dword [esp + 0x1c0], 0x5d4f5c17
mov dword [esp + 0x1c4], 0xa962aab9
mov byte [esp + 0x1c8], 0xfc
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c9], 0
mov eax, 0x43b2fa3f
mov ecx, 0xbc4d05c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x43b2f8ff]
mov edx, eax
and edx, esi
add edx, edx
mov ebx, edx
not ebx
and ebx, eax
and edx, ecx
sub edx, ebx
mov ebx, edx
xor ebx, esi
not edx
and edx, esi
add edx, edx
sub edx, ebx
add dl, 0xc5
mov byte [esp + eax - 0x43b2f8ff], dl
inc eax
dec ecx
cmp eax, 0x43b2facf
jne 0x41fc00
mov dword [esp + 0x78], 0xac62525e
mov dword [esp + 0x7c], 0xd4a107c4
mov dword [esp + 0x80], 0xb9a0dc64
mov dword [esp + 0x84], 0x55565750
mov dword [esp + 0x88], 0x51ce5adf
mov dword [esp + 0x8c], 0xb549d010
mov dword [esp + 0x90], 0x4142435c
mov dword [esp + 0x94], 0xd56c808
mov dword [esp + 0x98], 0x28628fc1
mov dword [esp + 0x9c], 0x81828a2a
mov dword [esp + 0xa0], 0xbdbebf80
mov dword [esp + 0xa4], 0xb9babbbc
mov dword [esp + 0xa8], 0xfc32020e
mov dword [esp + 0xac], 0xf2362794
mov dword [esp + 0xb0], 0x6aef2b8e
mov dword [esp + 0xb4], 0x65666760
mov dword [esp + 0xb8], 0x218a3c2c
mov dword [esp + 0xbc], 0x6d4a2be7
mov dword [esp + 0xc0], 0x910d2024
mov dword [esp + 0xc4], 0xbd969790
mov dword [esp + 0xc8], 0x999a9b7c
mov dword [esp + 0xcc], 0xd713d798
mov dword [esp + 0xd0], 0xf30fcbbc
mov dword [esp + 0xd4], 0x3f0bcfa8
mov dword [esp + 0xd8], 0x898a8b84
mov dword [esp + 0xdc], 0xa9ca3cc4
mov dword [esp + 0xe0], 0x813dfc8c
mov dword [esp + 0xe4], 0xb53c7ef8
mov dword [esp + 0xe8], 0xb9babbb4
mov dword [esp + 0xec], 0xf5bebfb8
mov dword [esp + 0xf0], 0x9aa3bd33
mov dword [esp + 0xf4], 0xa5a6a7a0
mov dword [esp + 0xf8], 0x8de626ec
mov dword [esp + 0xfc], 0x4af9e7a8
mov byte [esp + 0x100], 0xac
mov byte [esp + 0x103], 0
mov word [esp + 0x101], 0
mov eax, 0xa349dbb7
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
and edx, 4
mov ebx, eax
and ebx, 0xfb
or ebx, edx
xor ebx, 0xfb
lea esi, [ecx + 0x48]
and esi, ebx
lea ebx, [ecx + 8]
and ebx, 0x2a
mov edx, eax
and edx, 0xd5
or edx, ebx
movzx ebx, byte [esp + eax + 0x5cb624c1]
xor edx, 0x2a
or edx, ebx
not ebx
or ebx, esi
and edx, ebx
add dl, 0x6d
mov byte [esp + eax + 0x5cb624c1], dl
inc eax
dec ecx
cmp eax, 0xa349dc43
jne 0x41fdd0
lea eax, [esp + 0x140]
lea edx, [esp + 0x78]
lea ecx, [esp + 0x130]
push eax
push 0x88
push edx
lea eax, [esp + 0x40]
push eax
call fcn.00441100
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], eax
xor ebx, ebx
or eax, edx
je 0x41ff1d
mov dword [esp + 0x140], 0xe1181504
mov byte [esp + 0x144], 0x94
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
xor eax, eax
mov esi, dword [ebp + 0xc]
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
xor ecx, 0x1c357fda
mov edx, ebx
and edx, 0xa
sub edx, ecx
mov ecx, edx
not ecx
or ecx, 0xf02e09b2
add ecx, edx
inc ecx
and edx, 0xd
xor edx, 0xc11764d
or ecx, edx
movzx edx, byte [esp + eax + 0x140]
xor ecx, edx
mov edx, ecx
xor edx, 0xfd1f64d
xor ecx, 0xf3
and ecx, edx
or edx, 0x41
add edx, ecx
inc dl
mov byte [esp + eax + 0x140], dl
inc eax
add ebx, 2
cmp eax, 0xc
jne 0x41fe90
movzx eax, byte [esp + 0x140]
test al, al
je 0x41ff29
lea ecx, [esp + 0x141]
mov edx, dword [esp + 4]
lea ebx, [esp + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ff10
jmp 0x41ff31
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 4]
jmp 0x420172
mov edx, dword [esp + 4]
lea ebx, [esp + 0x34]
mov edi, edx
mov byte [edx], 0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x130]
push 0
push 8
push eax
push ebx
call fcn.00441100
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
xor ebx, ebx
or eax, edx
je 0x420172
mov dword [esp + 0x140], 0xf9040412
mov byte [esp + 0x144], 0xe4
mov word [esp + 0x145], 0
mov byte [esp + 0x147], 0
nop
nop
nop
nop
mov eax, ebx
or al, 0x28
xor al, byte [esp + ebx + 0x140]
add al, 0x38
mov byte [esp + ebx + 0x140], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x41ff90
movzx eax, byte [esp + 0x140]
test al, al
je 0x41ffdb
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41ffd0
mov byte [edi], 0
lea eax, [esp + 0x120]
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x34]
push 0
push 8
push eax
push edx
call fcn.004405d0
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x50]
je 0x420170
mov dword [esp + 4], edi
mov dword [esp + 0x140], 0x2391219d
mov dword [esp + 0x144], 0x27822581
mov dword [esp + 0x148], 0x3b9f399f
mov dword [esp + 0x14c], 0x3f9b3d42
mov dword [esp + 0x150], 0x339731b8
lea eax, [esp + 0x154]
mov word [esp + 0x154], 0x3534
mov dword [esp + 0x156], 0
mov word [esp + 0x15a], 0
mov ecx, 0x2fd93288
mov edx, 0x77
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x2fd93148]
mov edi, ecx
or edi, esi
not esi
or esi, edx
and esi, edi
mov edi, esi
and edi, 0xc00257
mov ebx, edi
not ebx
add esi, ebx
add esi, 0x10c20358
mov ebx, esi
and ebx, edi
xor edi, esi
lea ebx, [edi + ebx*2]
inc bl
mov byte [esp + ecx - 0x2fd93148], bl
inc ecx
dec edx
cmp ecx, 0x2fd932a4
jne 0x420080
lea edi, [esp + 0x2de]
lea edx, [esp + 0x140]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x2f2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x140], 0x1bb2b3c7
mov byte [esp + 0x144], 0x20
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf9
xor cl, byte [esp + eax + 0x140]
add cl, 0x23
mov byte [esp + eax + 0x140], cl
inc eax
cmp eax, 0xa
jne 0x420120
movzx eax, byte [esp + 0x140]
test al, al
mov edi, dword [esp + 4]
je 0x4201fa
lea ecx, [esp + 0x141]
mov esi, dword [ebp + 0xc]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420160
jmp 0x4201fd
xor ebx, ebx
lea ecx, [esp + 0x34]
call fcn.0043fbc0
mov dword [esp + 0x140], 0xfa6a3b7
mov byte [esp + 0x144], 0x18
mov word [esp + 0x145], 0
mov byte [esp + 0x147], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x7b
xor al, byte [esp + ecx + 0x140]
add al, 0x99
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 8
jne 0x4201b0
movzx eax, byte [esp + 0x140]
test al, al
je 0x4201eb
lea ecx, [esp + 0x141]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4201e0
mov byte [edi], 0
mov dword [esi], edi
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp + 0xc]
mov byte [edi], 0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x108], ecx
xor ebx, ebx
cmp eax, ecx
je 0x420172
lea esi, [esp + 0x34]
jmp 0x42023b
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x10c]
add eax, 8
cmp eax, dword [esp + 0x108]
je 0x420d23
mov dword [esp + 0x44], ebx
mov ecx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
push 0x198
push 0
lea eax, [esp + 0x148]
push eax
call fcn.0040c8a0
add esp, 0xc
xor ebx, ebx
jmp 0x42027e
lea esi, [esp + 0x34]
inc ebx
cmp ebx, 0xb
je 0x420490
mov ecx, esi
push 0
push 0
push 0x198
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x40]
push dword [esp + 0x1c]
call fcn.00440440
test eax, eax
js 0x420274
mov dword [esp + 4], ebx
cmp byte [esp + 0x210], 0
sete cl
xor cl, 0x31
cmp byte [esp + 0x211], 0
mov byte [esp + 0x60], cl
sete al
xor al, 0x31
mov byte [esp + 0x61], al
cmp byte [esp + 0x212], 0
sete al
xor al, 0x31
mov byte [esp + 0x62], al
cmp byte [esp + 0x2d0], 0
sete al
xor al, 0x31
mov byte [esp + 0x63], al
mov word [esp + 0x64], 0xa
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi + eax], cl
movzx ecx, byte [esp + eax + 0x61]
inc eax
test cl, cl
jne 0x420300
mov ebx, edi
mov byte [edi + eax], 0
movzx ecx, byte [esp + 0x212]
test cl, cl
jne 0x420470
cmp byte [esp + 0x210], 0
mov edi, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
jne 0x420345
mov edx, edi
or edx, esi
je 0x420470
cmp byte [esp + 0x2d0], 0
jne 0x42035a
xor edi, 1
or edi, esi
je 0x420470
mov edi, ebx
add edi, eax
mov dword [esp + 0x78], 0x1bbd44ad
mov byte [esp + 0x7c], 0x20
lea eax, [esp + 0x7d]
mov word [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0x39
xor cl, byte [esp + eax + 0x78]
add cl, 0xe3
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xb
jne 0x420380
movzx eax, byte [esp + 0x78]
test al, al
mov ebx, dword [esp + 4]
je 0x4203bb
lea ecx, [esp + 0x79]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4203b0
mov byte [edi], 0
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 0xff676980
mov dword [esp + 0x78], 0x700f0e0d
lea eax, [esp + 0x7d]
mov byte [eax + 1], 0
mov word [eax - 1], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0xa
mov edx, ecx
xor edx, 0xbd
add edx, esi
xor dl, byte [esp + ecx + 0x78]
add dl, 0x4f
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 7
jne 0x4203f0
mov eax, dword [0x452b74]
test eax, eax
je 0x420270
mov ecx, dword [esp + 0x78]
xor edx, edx
mov esi, dword [0x452b78]
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x3568c09b
je 0x420443
inc edx
cmp eax, edx
jne 0x420430
jmp 0x420270
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x420270
lea ecx, [esp + 0x10]
push ecx
push 0
push 2
push eax
push dword [0x452b7c]
call fcn.00442710
add esp, 0x14
jmp 0x420270
mov edi, ebx
add edi, eax
lea esi, [esp + 0x34]
test cl, cl
jne 0x4204a0
jmp 0x420220
movzx ecx, byte [esp + 0x212]
test cl, cl
je 0x420220
call fcn.00404b00
mov dword [esp + 0x30], eax
push eax
call fcn.00404720
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x78], 0x912b2f31
mov byte [esp + 0x7c], 0x8c
lea eax, [esp + 0x7d]
mov dword [eax + 3], 0
mov dword [eax], 0
mov eax, 0x18e845e2
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x18e8456a]
lea ecx, [eax - 0x18e84500]
and ecx, edx
add ecx, ecx
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
add cl, 0x96
mov byte [esp + eax - 0x18e8456a], cl
inc eax
cmp eax, 0x18e845ee
jne 0x4204e0
movzx eax, byte [esp + 0x78]
test al, al
je 0x42052b
lea ecx, [esp + 0x79]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420520
mov dword [esp + 4], edi
mov byte [edi], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx edi, word [eax + ecx]
movzx esi, word [esp + ecx + 0x2de]
test di, di
je 0x420559
add ecx, 2
cmp di, si
je 0x420540
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
xor ebx, ebx
mov ecx, eax
or ecx, edx
je 0x4205c0
mov dword [esp + 8], eax
lea ecx, [esp + 0x34]
push 0
push 0
push 0x40
lea eax, [esp + 0x84]
push eax
push edx
push dword [esp + 0x1c]
call fcn.00440440
test eax, eax
js 0x4205c0
xor eax, eax
cmp di, si
sete al
lea esi, [esp + 0x34]
mov ecx, esi
lea edx, [esp + 0x78]
push eax
push dword [esp + 0x10]
call fcn.00422bf0
add esp, 8
mov dword [esp + 8], eax
mov edi, dword [esp + 4]
jmp 0x4205d0
mov dword [esp + 8], 0
mov edi, dword [esp + 4]
lea esi, [esp + 0x34]
mov dword [esp + 0x78], 0xcf68106b
mov byte [esp + 0x7c], 0xf8
lea eax, [esp + 0x7d]
mov word [eax + 4], 0
mov dword [eax], 0
nop
nop
nop
movzx ecx, byte [esp + ebx + 0x78]
mov eax, ebx
xor eax, 0xeb89354
mov edx, ebx
or edx, 0xb
and edx, eax
mov eax, ebx
xor eax, 0xf1476cab
lea eax, [eax + edx*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov ecx, eax
xor ecx, 0x58
and eax, 0x27
add eax, eax
sub eax, ecx
inc al
mov byte [esp + ebx + 0x78], al
inc ebx
cmp ebx, 0xb
jne 0x4205f0
movzx eax, byte [esp + 0x78]
test al, al
je 0x420650
lea ecx, [esp + 0x79]
mov ebx, dword [esp + 8]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420640
jmp 0x420654
mov ebx, dword [esp + 8]
mov byte [edi], 0
push dword [esp + 0xc]
call fcn.00404900
add esp, 4
test eax, eax
setne cl
and cl, bl
cmp cl, 1
jne 0x4207e0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x298]
mov edx, dword [esp + 0x29c]
add eax, 0x28
adc edx, 0
mov ecx, esi
push 0
push 0
push 8
lea ebx, [esp + 0x124]
push ebx
push edx
push eax
call fcn.00440440
test eax, eax
mov dword [esp + 4], edi
js 0x420a20
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
add eax, 0x10
adc edx, 0
mov ecx, esi
push 0
push 0
push 8
lea ebx, [esp + 0x11c]
push ebx
push edx
push eax
call fcn.00440440
test eax, eax
js 0x420a20
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
add eax, 0x10
adc edx, 0
mov ecx, esi
push 0
push 0
push 0x18
lea esi, [esp + 0x6c]
push esi
push edx
push eax
call fcn.00440440
test eax, eax
js 0x420a20
cmp byte [esp + 0x77], 0
lea eax, [esp + 0x60]
mov dword [esp + 0xc], eax
js 0x4207e9
mov dword [esp + 0x10], 0x138111ed
mov dword [esp + 0x14], 0x1f8c1df1
mov dword [esp + 0x18], 0x1bd61938
mov dword [esp + 0x1c], 0x79a05e5
mov dword [esp + 0x20], 0x3e601e1
mov word [esp + 0x24], 0xd0c
mov dword [esp + 0x26], 0
xor eax, eax
xor ecx, ecx
nop
mov esi, eax
and esi, 8
mov edx, ecx
xor edx, 0xc4
add edx, esi
xor dl, byte [esp + ecx + 0x10]
add dl, 0x2c
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0x1a
jne 0x420760
movzx esi, word [esp + 0x10]
test si, si
je 0x42083f
lea eax, [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, edx
jmp 0x4207ac
movzx esi, word [eax]
test si, si
je 0x420852
movzx edi, word [ecx]
test di, di
je 0x420845
add ecx, 2
add eax, 2
lea ebx, [edx + 2]
cmp di, si
je 0x4207ca
mov edx, ebx
mov ecx, ebx
je 0x4207a0
lea eax, [esp + 0x10]
jmp 0x4207a0
mov dword [esp + 8], ebx
jmp 0x420d07
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov eax, esi
or eax, ebx
je 0x420a20
mov eax, dword [esp + 0x68]
lea edi, [eax*2 + 2]
inc eax
mov eax, edi
jns 0x420810
mov eax, 0xffffffff
push eax
call fcn.0040c820
add esp, 4
lea ecx, [esp + 0x34]
push 0
push 0
push edi
mov dword [esp + 0x18], eax
push eax
push ebx
push esi
call fcn.00440440
test eax, eax
mov edi, dword [esp + 4]
jns 0x420724
jmp 0x420a20
mov edx, dword [esp + 0xc]
jmp 0x420862
lea ebx, [esp + 0x78]
mov edi, dword [esp + 4]
jmp 0x4209f2
lea ebx, [esp + 0x78]
test edx, edx
mov edi, dword [esp + 4]
je 0x4209f2
movzx esi, word [edx + 0x14]
lea ebx, [esp + 0x78]
test si, si
je 0x4209f2
lea eax, [edx + 0x14]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
cmp si, 0x5c
je 0x42089c
movzx esi, word [edx + ecx + 0x16]
add ecx, 2
test si, si
jne 0x420880
lea ebx, [esp + 0x78]
jmp 0x4209f2
lea edx, [esp + 0x78]
mov ebx, edx
test ecx, ecx
je 0x420942
sar ecx, 1
mov edi, ecx
and edi, 3
je 0x4208e6
xor esi, esi
mov ebx, edx
mov dword [esp + 0x104], edi
nop
nop
movzx edi, word [eax]
xor edx, edx
test di, di
setne dl
lea eax, [eax + edx*2]
mov word [ebx], di
mov edi, dword [esp + 0x104]
add ebx, 2
inc esi
cmp edi, esi
jne 0x4208c0
mov edi, ecx
sub edi, esi
jmp 0x4208ea
mov ebx, edx
mov edi, ecx
dec ecx
cmp ecx, 3
jb 0x420942
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [ebx], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [ebx + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov word [ebx + 6], dx
add ebx, 8
add edi, 0xfffffffc
jne 0x4208f0
mov word [ebx], 0
cmp byte [esp + 0x2d0], 0
je 0x42095a
mov edi, dword [esp + 4]
jmp 0x4209f2
mov dword [esp + 0x10], 0x37ef3918
mov dword [esp + 0x14], 0x33cd35c6
mov dword [esp + 0x18], 0xcf3531c3
mov dword [esp + 0x1c], 0xcb33cd3e
mov dword [esp + 0x20], 0xc735c944
mov dword [esp + 0x24], 0xc5c4
mov eax, 0xf6
mov edi, 9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xe6]
mov edx, eax
xor edx, edi
and edx, esi
xor edx, edi
mov cl, 0x31
sub cl, dl
mov byte [esp + eax - 0xe6], cl
inc eax
dec edi
cmp eax, 0x10e
jne 0x4209a0
movzx eax, word [esp + 0x10]
test ax, ax
je 0x4209e9
lea ecx, [esp + 0x12]
mov edi, dword [esp + 4]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4209d6
jmp 0x4209ed
mov edi, dword [esp + 4]
mov word [ebx], 0
cmp byte [esp + 0x77], 0
jns 0x420a05
push dword [esp + 0xc]
call fcn.0040c830
add esp, 4
lea edx, [esp + 0x78]
cmp edx, ebx
jne 0x420ab6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x10], 0x239c21f9
mov dword [esp + 0x14], 0x27992587
mov dword [esp + 0x18], 0x3b84399f
mov dword [esp + 0x1c], 0x3f8a3d85
mov dword [esp + 0x20], 0x3332318f
mov byte [esp + 0x24], 0
mov eax, 0x7eed1cc8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x7eed1cb8]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x18
mov byte [esp + eax - 0x7eed1cb8], cl
inc eax
cmp eax, 0x7eed1cdd
jne 0x420a60
movzx eax, word [esp + 0x10]
lea edx, [esp + 0x78]
mov ebx, edx
test ax, ax
je 0x420ab1
lea ecx, [esp + 0x12]
mov ebx, edx
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420aa0
mov word [ebx], 0
mov eax, ebx
sub eax, edx
mov ecx, eax
shr ecx, 2
mov esi, edx
mov edx, edi
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, eax
and ecx, 0xfffffffc
lea edi, [edx + ecx]
lea edx, [esp + ecx]
add edx, 0x78
mov ecx, eax
shr ecx, 1
and ecx, 1
mov esi, edx
mov dword [esp + 0xc], edi
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
mov ebx, eax
je 0x420b02
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov eax, dword [esp + 0xc]
mov byte [eax + ecx], dl
push 0xa
push 0xb
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x14]
call fcn.004229c0
add esp, 0x10
mov dword [esp + 0x10], 0xa595974a
mov dword [esp + 0x14], 0x25467458
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x8b
xor dl, byte [esp + ecx + 0x10]
add dl, 0x49
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 8
jne 0x420b30
mov edi, dword [esp + 4]
add edi, ebx
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x420b6b
lea edx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x420b60
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x420b8b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x420b80
mov esi, edi
mov byte [edi], 0xa
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x420ba0
sar eax, 1
sar ebx, 1
lea ecx, [ebx + eax]
add ecx, 0xa
test ecx, ecx
jns 0x420bc0
mov eax, 0xffffffff
jmp 0x420bc9
add ebx, eax
lea eax, [ebx*2 + 0x14]
push eax
call fcn.0040c820
add esp, 4
movzx ecx, word [edi]
mov ebx, eax
test cx, cx
je 0x420c01
add edi, 2
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x420bf0
inc esi
mov word [ebx], 0x2f
mov dword [esp + 0x10], 0x51804f7d
mov dword [esp + 0x14], 0x55ab53b7
mov dword [esp + 0x18], 0x59a2577a
mov dword [esp + 0x1c], 0x5dae5ba0
mov word [esp + 0x20], 0x5f5c
mov dword [esp + 0x22], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xd
xor dl, byte [esp + ecx + 0x10]
add dl, 0xbf
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0x16
jne 0x420c40
add ebx, 2
movzx ecx, word [esp + 0x78]
test cx, cx
je 0x420c81
lea edx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420c70
mov dword [esp + 0xc], eax
mov word [ebx], 0
movzx ecx, word [esp + 0x10]
test cx, cx
mov dword [esp + 4], esi
je 0x420cb1
lea edx, [esp + 0x12]
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420ca0
mov word [ebx], 0
mov esi, 0xffffffff
push dword [esp + 0x30]
call fcn.004056f0
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + esi + 1], 0
lea esi, [esi + 1]
jne 0x420cd0
mov ecx, dword [ebp + 8]
push esi
push edi
mov esi, dword [esp + 0x14]
push esi
call fcn.0040cfa0
mov dword [esp + 8], eax
push edi
call fcn.00405780
add esp, 4
push esi
call fcn.0040c830
add esp, 4
mov edi, dword [esp + 4]
lea esi, [esp + 0x34]
push dword [esp + 0x30]
call fcn.00404940
add esp, 4
mov ebx, dword [esp + 0x44]
and bl, 1
or bl, byte [esp + 8]
jmp 0x420224
mov eax, dword [esp + 0x4c]
and bl, 1
test eax, eax
je 0x420d51
cmp eax, dword [esp + 0x50]
mov esi, dword [ebp + 0xc]
je 0x420172
push eax
call fcn.0040c830
add esp, 4
mov dword [esp + 0x4c], 0
jmp 0x420172
mov esi, dword [ebp + 0xc]
jmp 0x420172