Function at 0x41f660
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 edi, dword [ebp + 0xc]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x140], 0x1baab1bb
mov byte [esp + 0x144], 0x20
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
mov ecx, 0x72ae9639
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x72ae94f9]
lea esi, [ecx - 0x72ae9600]
and esi, edx
or edx, ecx
xor edx, esi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xe2
mov byte [esp + ecx - 0x72ae94f9], dl
inc ecx
cmp ecx, 0x72ae9643
jne 0x41f6c0
mov esi, dword [edi]
movzx ecx, byte [esp + 0x140]
test cl, cl
je 0x41f71b
lea edx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41f710
mov byte [esi], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
lea edi, [esp + 0x30]
push ecx
push edx
push edi
mov ecx, dword [ebp + 0x14]
push dword [ecx + 0x10]
push eax
push dword [ecx + 0xc]
call fcn.00421cc0
add esp, 0x18
test al, al
je 0x420aed
mov dword [esp + 0x140], 0x3b9b9594
mov byte [esp + 0x144], 0x20
mov word [esp + 0x145], 0
mov byte [esp + 0x147], 0
mov eax, 0xbb5451c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x44abaf77]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x13
mov byte [esp + eax + 0x44abaf77], cl
inc eax
cmp eax, 0xbb5451d1
jne 0x41f7a0
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f7eb
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f7e0
mov dword [esp], esi
mov byte [esi], 0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x138], eax
mov dword [esp + 0x140], 0xaea65299
mov dword [esp + 0x144], 0xb5b25788
mov dword [esp + 0x148], 0x938f865d
mov dword [esp + 0x14c], 0x90919293
mov dword [esp + 0x150], 0xbe87a560
mov dword [esp + 0x154], 0xb5ba848e
mov dword [esp + 0x158], 0xa4a5a6a7
mov dword [esp + 0x15c], 0xbca99196
mov dword [esp + 0x160], 0x86ab76ab
mov dword [esp + 0x164], 0x707092a3
mov dword [esp + 0x168], 0x92b98cac
mov dword [esp + 0x16c], 0xbba0957a
mov dword [esp + 0x170], 0x44768640
mov dword [esp + 0x174], 0x84854642
mov dword [esp + 0x178], 0x83594e8f
mov dword [esp + 0x17c], 0x40414243
mov dword [esp + 0x180], 0x6e63656b
mov dword [esp + 0x184], 0x58557c45
mov dword [esp + 0x188], 0x544f6d78
mov dword [esp + 0x18c], 0x59515253
mov dword [esp + 0x190], 0x6c6d6e7a
mov dword [esp + 0x194], 0xae47626b
mov dword [esp + 0x198], 0x6f6a4a6e
mov dword [esp + 0x19c], 0x4d6e4d72
mov dword [esp + 0x1a0], 0x7c7d7e7f
mov dword [esp + 0x1a4], 0x4676724f
mov dword [esp + 0x1a8], 0x416b4677
mov dword [esp + 0x1ac], 0x707d4c7b
mov dword [esp + 0x1b0], 0xc0d0e0f
mov dword [esp + 0x1b4], 0x1c090a0b
mov dword [esp + 0x1b8], 0x1a37ca0b
mov dword [esp + 0x1bc], 0x10203
mov dword [esp + 0x1c0], 0x2731202d
mov dword [esp + 0x1c4], 0x132a161b
mov byte [esp + 0x1c8], 0x48
mov word [esp + 0x1cd], 0
mov dword [esp + 0x1c9], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x140]
mov esi, eax
and esi, 0xa0
mov ebx, ecx
xor ebx, 0x1fdb1650
add ebx, esi
lea esi, [edx + ebx]
add esi, 0x60b8906f
and ebx, edx
add ebx, ebx
mov edx, esi
sub edx, ebx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx + 0x140], dl
inc ecx
add eax, 2
cmp ecx, 0x8f
jne 0x41f9b0
mov dword [esp + 0x58], 0xc4e5e5a
mov dword [esp + 0x5c], 0xd4096bb4
mov dword [esp + 0x60], 0xa1d80444
mov dword [esp + 0x64], 0x958a8b88
mov dword [esp + 0x68], 0x992a961b
mov dword [esp + 0x6c], 0xb5a11858
mov dword [esp + 0x70], 0x999e9f9c
mov dword [esp + 0x74], 0xadaa1050
mov dword [esp + 0x78], 0xc08e2be9
mov dword [esp + 0x7c], 0x39362ec6
mov dword [esp + 0x80], 0x3d3a3b38
mov dword [esp + 0x84], 0x213e3f3c
mov dword [esp + 0x88], 0xfcbeaeaa
mov dword [esp + 0x8c], 0xf6ba8b44
mov dword [esp + 0x90], 0x76ebb72a
mov dword [esp + 0x94], 0x457a7b78
mov dword [esp + 0x98], 0x8966b48c
mov dword [esp + 0x9c], 0x4dae8fcb
mov dword [esp + 0xa0], 0x49f5d884
mov dword [esp + 0xa4], 0xbd4a4b48
mov dword [esp + 0xa8], 0x5156577c
mov dword [esp + 0xac], 0x93c79b50
mov dword [esp + 0xb0], 0x8fcb97bc
mov dword [esp + 0xb4], 0xbbcf93b0
mov dword [esp + 0xb8], 0x21262724
mov dword [esp + 0xbc], 0xc1eeb4f4
mov dword [esp + 0xc0], 0x39a5e42c
mov dword [esp + 0xc4], 0x35a462e0
mov dword [esp + 0xc8], 0x31363734
mov dword [esp + 0xcc], 0xf5323330
mov dword [esp + 0xd0], 0x263f05b7
mov dword [esp + 0xd4], 0x53a3b38
mov dword [esp + 0xd8], 0xedd292cc
mov dword [esp + 0xdc], 0x2ef1cb00
mov byte [esp + 0xe0], 0xc
mov byte [esp + 0xe3], 0
mov word [esp + 0xe1], 0
mov eax, 0xe6e14f61
mov ecx, 0x11eb09e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x191eb0f7]
mov ebx, ecx
and ebx, 0x1029a77
mov edx, eax
and edx, 0xa2004588
or edx, ebx
mov ebx, esi
xor ebx, 0x44e11a77
xor esi, 0xa2004588
or ebx, edx
not edx
or edx, esi
and edx, ebx
lea esi, [edx + edx]
mov ebx, esi
and ebx, 0xcb02a634
xor edx, 0x7d99731a
mov edi, ebx
and edi, edx
xor edx, ebx
lea edx, [edx + edi*2]
and esi, 2
xor edx, 1
add edx, esi
mov byte [esp + eax + 0x191eb0f7], dl
inc eax
dec ecx
cmp eax, 0xe6e14fed
jne 0x41fb80
lea ebx, [esp + 0x140]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x130]
push ebx
push 0x88
push eax
lea esi, [esp + 0x3c]
push esi
call fcn.0043efb0
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], eax
xor ecx, ecx
or eax, edx
je 0x420af9
mov dword [esp + 0x140], 0x47acafa0
mov byte [esp + 0x144], 0x58
mov word [esp + 0x145], 0
mov byte [esp + 0x147], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x8f
xor al, byte [esp + ecx + 0x140]
add al, 0x35
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 8
jne 0x41fc50
movzx eax, byte [esp + 0x140]
test al, al
mov edi, dword [esp]
je 0x41fc8b
lea ecx, [esp + 0x141]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fc80
mov byte [edi], 0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x130]
push 0
push 8
push eax
push esi
call fcn.0043efb0
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
or eax, edx
je 0x420afe
mov dword [esp + 0x140], 0x1dca496
mov byte [esp + 0x144], 0x74
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
mov eax, 0x9b43c3c1
nop
nop
nop
nop
nop
movzx ecx, byte [ebx]
mov edx, eax
xor edx, 0xd5d026be
mov esi, eax
or esi, 0x2a2fd941
and esi, edx
xor ecx, 0x2a2fd941
mov edx, eax
or edx, 0x222ed900
and edx, 0xb36edbbe
xor edx, esi
xor edx, 0xf7feffbe
mov esi, ecx
and esi, edx
add edx, ecx
add esi, esi
sub edx, esi
add dl, 0xca
mov byte [ebx], dl
inc ebx
dec eax
cmp eax, 0x9b43c3b5
jne 0x41fcf0
movzx eax, byte [esp + 0x140]
test al, al
je 0x41fd5b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fd50
mov byte [edi], 0
lea eax, [esp + 0x120]
lea edx, [esp + 0x44]
lea ecx, [esp + 0x30]
push 0
push 8
push eax
push edx
call fcn.0043e4a0
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp eax, dword [esp + 0x48]
je 0x420b00
mov ebx, edi
mov dword [esp + 0x140], 0x1fa919b5
mov dword [esp + 0x144], 0x63c61db9
mov dword [esp + 0x148], 0x67c361cb
mov dword [esp + 0x14c], 0x6bcf6516
mov dword [esp + 0x150], 0x6fcb69d0
lea eax, [esp + 0x154]
mov word [esp + 0x154], 0x6d6c
mov dword [esp + 0x156], 0
nop
nop
nop
mov edi, ecx
and ecx, 0x18
mov edx, edi
and edx, 2
mov esi, edx
xor esi, 2
imul esi, ecx
or ecx, 2
imul ecx, edx
mov edx, edi
xor edx, 0xba
add edx, esi
add edx, ecx
mov ecx, edi
xor dl, byte [esp + edi + 0x140]
add dl, 0x5e
mov byte [esp + edi + 0x140], dl
inc ecx
cmp ecx, 0x1a
jne 0x41fde0
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], 0x1bb2b347
mov byte [esp + 0x144], 0x20
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
mov eax, 0x60b88339
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x60b881f9]
mov edx, eax
and edx, ecx
add ecx, eax
add edx, edx
mov esi, ecx
sub esi, edx
mov edx, esi
and edx, 0x62
xor esi, 0xe2
lea edx, [esi + edx*2]
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [esp + eax - 0x60b881f9], cl
inc eax
cmp eax, 0x60b88343
jne 0x41fe80
movzx eax, byte [esp + 0x140]
test al, al
mov edi, ebx
je 0x41fedb
lea ecx, [esp + 0x141]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fed0
mov byte [edi], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x108], ecx
cmp eax, ecx
je 0x420afe
xor ecx, ecx
lea esi, [esp + 0x30]
jmp 0x41ff1b
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10c]
add eax, 8
cmp eax, dword [esp + 0x108]
je 0x420bb1
mov dword [esp + 0x28], ecx
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
push 0x198
push 0
lea eax, [esp + 0x148]
push eax
call fcn.0040c8e0
add esp, 0xc
xor ebx, ebx
jmp 0x41ff5e
lea esi, [esp + 0x30]
inc ebx
cmp ebx, 0xb
je 0x4201b0
mov ecx, esi
push 0
push 0
push 0x198
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x18]
push dword [esp + 0x40]
call fcn.0043e310
test eax, eax
js 0x41ff54
mov dword [esp + 4], ebx
cmp byte [esp + 0x210], 0
sete cl
xor cl, 0x31
cmp byte [esp + 0x211], 0
mov byte [esp + 0xc], cl
sete al
xor al, 0x31
mov byte [esp + 0xd], al
cmp byte [esp + 0x212], 0
sete al
xor al, 0x31
mov byte [esp + 0xe], al
cmp byte [esp + 0x2d0], 0
sete al
xor al, 0x31
mov byte [esp + 0xf], al
mov word [esp + 0x10], 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 + 0xd]
inc eax
test cl, cl
jne 0x41ffe0
mov byte [edi + eax], 0
movzx ecx, byte [esp + 0x212]
test cl, cl
jne 0x4201a0
cmp byte [esp + 0x210], 0
mov edx, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
jne 0x420027
mov ebx, edi
mov edi, edx
or edi, esi
mov edi, ebx
je 0x4201a0
cmp byte [esp + 0x2d0], 0
jne 0x42003c
xor edx, 1
or edx, esi
je 0x4201a0
add edi, eax
mov dword [esp], edi
mov dword [esp + 0x58], 0x399b8097
mov byte [esp + 0x5c], 0x24
lea eax, [esp + 0x5d]
mov byte [eax + 4], 0
mov dword [eax], 0
mov edi, 0xa10c1a48
mov ecx, 0x5ef3e5b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 0x5ef3e610]
mov eax, edi
and eax, edx
add eax, eax
sub eax, edx
add eax, ecx
and eax, edi
mov ebx, eax
and ebx, 2
mov esi, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and esi, 0xa10c1a5d
imul esi, ebx
add eax, esi
lea esi, [ecx - 0x5ef3e500]
and esi, eax
not eax
and eax, edi
sub eax, esi
add al, dl
add al, 0x98
mov byte [esp + edi + 0x5ef3e610], al
inc edi
dec ecx
cmp edi, 0xa10c1a52
jne 0x420070
movzx eax, byte [esp + 0x58]
test al, al
je 0x4200f0
lea ecx, [esp + 0x59]
mov edi, dword [esp]
mov ebx, dword [esp + 4]
nop
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 0x4200e0
jmp 0x4200f7
mov edi, dword [esp]
mov ebx, dword [esp + 4]
mov byte [edi], 0
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x58], 0xff676980
mov dword [esp + 0xe8], 0x1c1d1a1b
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x7a
xor cl, byte [esp + eax + 0xe8]
add cl, 0x9e
mov byte [esp + eax + 0xe8], cl
inc eax
cmp eax, 4
jne 0x420120
mov eax, dword [0x44f228]
test eax, eax
je 0x41ff50
mov ecx, dword [esp + 0xe8]
xor edx, edx
mov esi, dword [0x44f22c]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x3568c09b
je 0x420173
inc edx
cmp eax, edx
jne 0x420160
jmp 0x41ff50
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41ff50
lea ecx, [esp + 0x58]
push ecx
push 0
push 2
push dword [0x44f230]
push eax
call fcn.004400f0
add esp, 0x14
jmp 0x41ff50
add edi, eax
lea esi, [esp + 0x30]
test cl, cl
jne 0x4201c0
jmp 0x41ff00
movzx ecx, byte [esp + 0x212]
test cl, cl
je 0x41ff00
mov dword [esp], edi
call fcn.00404b60
mov dword [esp + 0x2c], eax
push eax
call fcn.00404790
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x58], 0xb69656f
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov eax, 0xd2b5f781
mov ecx, 0x7e
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x2d4a08d7]
mov ebx, edi
not ebx
mov esi, eax
and esi, ebx
or ebx, ecx
lea edx, [ebx + edi]
mov dword [esp + 4], edx
mov edx, SysReAllocString
sub edx, dword [esp + 4]
add edi, ebx
inc edi
and edi, 0x9b3a08d5
and edx, 0x64c5f72a
or edx, edi
xor edx, 0x64c5f72a
or edx, esi
mov ebx, edx
and ebx, 0x7a
add ebx, ebx
xor edx, 0x85
sub ebx, edx
mov byte [esp + eax + 0x2d4a08d7], bl
inc eax
dec ecx
cmp eax, 0xd2b5f78d
jne 0x420200
movzx eax, byte [esp + 0x58]
test al, al
je 0x420280
lea ecx, [esp + 0x59]
mov edx, dword [esp]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420270
jmp 0x420283
mov edx, dword [esp]
mov dword [esp], edx
mov byte [edx], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [eax + ecx]
movzx esi, word [esp + ecx + 0x2de]
test di, di
je 0x4202b9
add ecx, 2
cmp di, si
je 0x4202a0
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
xor ebx, ebx
mov ecx, eax
or ecx, edx
je 0x420320
mov dword [esp + 4], eax
lea ecx, [esp + 0x30]
push 0
push 0
push 0x40
lea eax, [esp + 0x64]
push eax
push edx
push dword [esp + 0x18]
call fcn.0043e310
test eax, eax
js 0x420320
xor eax, eax
cmp di, si
sete al
lea ecx, [esp + 0x30]
lea edx, [esp + 0x58]
push eax
push dword [esp + 0xc]
call fcn.00422790
add esp, 8
mov dword [esp + 4], eax
jmp 0x420328
mov dword [esp + 4], 0
mov edi, dword [esp]
mov dword [esp + 0x58], 0x8f68706b
mov byte [esp + 0x5c], 0x98
lea eax, [esp + 0x5d]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x58]
mov esi, ebx
and esi, 0x16
mov ecx, eax
xor ecx, 0xf65850db
add ecx, esi
xor ecx, edx
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0xb8
mov byte [esp + eax + 0x58], cl
inc eax
add ebx, 2
cmp eax, 0xa
jne 0x420350
movzx eax, byte [esp + 0x58]
test al, al
je 0x4203b0
lea ecx, [esp + 0x59]
lea esi, [esp + 0x30]
mov ebx, dword [esp + 4]
nop
nop
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 0x4203a0
jmp 0x4203b8
lea esi, [esp + 0x30]
mov ebx, dword [esp + 4]
mov byte [edi], 0
push dword [esp + 8]
call fcn.00404960
add esp, 4
test eax, eax
setne cl
and cl, bl
cmp cl, 1
jne 0x420ad3
mov dword [esp + 4], 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.0043e310
test eax, eax
mov dword [esp], edi
js 0x420780
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.0043e310
test eax, eax
js 0x420780
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 + 0xf4]
push esi
push edx
push eax
call fcn.0043e310
test eax, eax
js 0x420780
cmp byte [esp + 0xff], 0
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
js 0x42054e
mov dword [esp + 0xc], 0x43d141b5
mov dword [esp + 0x10], 0x47d445a1
mov dword [esp + 0x14], 0x4b8e4968
mov dword [esp + 0x18], 0x4fda4dad
mov dword [esp + 0x1c], 0x738e7191
mov word [esp + 0x20], 0x7574
lea eax, [esp + 0x22]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x90
mov ecx, 0x6f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x84]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x30
mov byte [esp + eax - 0x84], dl
inc eax
dec ecx
cmp eax, 0xa9
jne 0x4204e0
movzx esi, word [esp + 0xc]
test si, si
je 0x4205ac
lea eax, [esp + 0xc]
mov edx, dword [esp + 8]
mov ecx, edx
jmp 0x42052c
movzx esi, word [eax]
test si, si
je 0x4205be
movzx edi, word [ecx]
test di, di
je 0x4205b2
add eax, 2
add ecx, 2
lea ebx, [edx + 2]
cmp di, si
je 0x420546
mov edx, ebx
mov ecx, ebx
je 0x420520
lea eax, [esp + 0xc]
jmp 0x420520
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
mov eax, esi
or eax, ebx
je 0x420780
mov eax, dword [esp + 0xf0]
lea edi, [eax*2 + 2]
inc eax
mov eax, edi
jns 0x42057e
mov eax, 0xffffffff
push eax
call fcn.0040c720
add esp, 4
lea ecx, [esp + 0x30]
push 0
push 0
push edi
mov dword [esp + 0x14], eax
push eax
push ebx
push esi
call fcn.0043e310
test eax, eax
mov edi, dword [esp]
jns 0x420490
jmp 0x420780
mov edx, dword [esp + 8]
jmp 0x4205cd
lea ebx, [esp + 0x58]
mov edi, dword [esp]
jmp 0x420751
lea ebx, [esp + 0x58]
test edx, edx
mov edi, dword [esp]
je 0x420751
movzx esi, word [edx + 0x14]
lea ebx, [esp + 0x58]
test si, si
je 0x420751
lea eax, [edx + 0x14]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp si, 0x5c
je 0x42060c
movzx esi, word [edx + ecx + 0x16]
add ecx, 2
test si, si
jne 0x4205f0
lea ebx, [esp + 0x58]
jmp 0x420751
lea edx, [esp + 0x58]
mov ebx, edx
test ecx, ecx
je 0x4206b2
sar ecx, 1
mov edi, ecx
and edi, 3
je 0x420656
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 0x420630
mov edi, ecx
sub edi, esi
jmp 0x42065a
mov ebx, edx
mov edi, ecx
dec ecx
cmp ecx, 3
jb 0x4206b2
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 0x420660
mov word [ebx], 0
cmp byte [esp + 0x2d0], 0
je 0x4206c9
mov edi, dword [esp]
jmp 0x420751
mov dword [esp + 0xc], 0x8f578968
mov dword [esp + 0x10], 0x83258d3e
mov dword [esp + 0x14], 0x873d8133
mov dword [esp + 0x18], 0x9b238536
mov dword [esp + 0x1c], 0x9f2d992c
mov word [esp + 0x20], 0x9d9c
mov dword [esp + 0x22], 0
mov eax, 0x62
mov ecx, 0x9d
mov edi, dword [esp]
nop
nop
nop
movzx edx, byte [esp + eax - 0x56]
mov esi, eax
or esi, edx
not edx
or edx, ecx
and edx, esi
add dl, 0x16
mov byte [esp + eax - 0x56], dl
inc eax
dec ecx
cmp eax, 0x7c
jne 0x420710
movzx eax, word [esp + 0xc]
test ax, ax
je 0x42074c
lea ecx, [esp + 0xe]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42073b
mov word [ebx], 0
cmp byte [esp + 0xff], 0
jns 0x420767
push dword [esp + 8]
call fcn.0040c730
add esp, 4
lea edx, [esp + 0x58]
cmp edx, ebx
jne 0x420849
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xc], 0x9f80bdb
mov dword [esp + 0x10], 0x5f707f5
mov dword [esp + 0x14], 0x1f003fd
mov dword [esp + 0x18], 0x1d921ff7
mov dword [esp + 0x1c], 0x191a1bed
lea eax, [esp + 0x22]
mov byte [eax], 0
mov word [eax - 2], 0
mov eax, 0xac876e43
mov ecx, 0xbc
nop
movzx edx, byte [esp + eax + 0x537891c9]
mov esi, eax
xor esi, edx
lea edi, [esi + esi]
not edi
add edi, esi
and edi, eax
mov ebx, edi
and ebx, 2
mov esi, edi
or edi, 2
imul edi, ebx
xor ebx, 2
and esi, 0xac876e7d
imul esi, ebx
add edi, esi
mov ebx, edi
not ebx
and ebx, eax
add ebx, edx
and edi, ecx
sub ebx, edi
add bl, 0xb1
mov byte [esp + eax + 0x537891c9], bl
inc eax
dec ecx
cmp eax, 0xac876e5a
jne 0x4207c0
movzx eax, word [esp + 0xc]
lea edx, [esp + 0x58]
mov ebx, edx
test ax, ax
je 0x420841
lea ecx, [esp + 0xe]
mov ebx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420830
mov word [ebx], 0
mov edi, dword [esp]
sub ebx, edx
mov ecx, ebx
shr ecx, 2
mov eax, edx
mov edx, edi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
lea edi, [edx + eax]
lea esi, [esp + eax]
add esi, 0x58
mov eax, ebx
not eax
or eax, 3
add eax, ebx
inc eax
mov ecx, eax
shr ecx, 1
mov edx, esi
mov dword [esp + 8], edi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test al, 1
je 0x420893
and eax, 0xfffffffe
movzx ecx, byte [esi + eax]
mov edx, dword [esp + 8]
mov byte [edx + eax], cl
push 0xa
push 0xb
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x10]
call fcn.00422540
add esp, 0x10
mov dword [esp + 0xc], 0xd7e3e54a
mov dword [esp + 0x10], 0x47262824
lea ecx, [esp + 0x22]
mov byte [ecx - 0xc], 0
mov word [ecx - 0xe], 0
xor ecx, ecx
nop
nop
nop
nop
nop
mov edx, ecx
or dl, 0xf0
xor dl, byte [esp + ecx + 0xc]
add dl, 0x50
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0xb
jne 0x4208d0
mov edi, dword [esp]
add edi, ebx
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x42090b
lea edx, [esp + 0xd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x420900
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42092b
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 0x420920
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 0x420940
sar eax, 1
sar ebx, 1
lea ecx, [ebx + eax]
add ecx, 0xa
test ecx, ecx
jns 0x420960
mov eax, 0xffffffff
jmp 0x420969
add ebx, eax
lea eax, [ebx*2 + 0x14]
push eax
call fcn.0040c720
add esp, 4
movzx ecx, word [edi]
mov ebx, eax
test cx, cx
je 0x4209a1
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 0x420990
mov dword [esp + 4], eax
mov eax, esi
inc eax
mov word [ebx], 0x2f
mov dword [esp + 0xc], 0x1fcc19eb
mov dword [esp + 0x10], 0xe3591db9
mov dword [esp + 0x14], 0xe752e112
mov dword [esp + 0x18], 0xeb5ee55c
mov word [esp + 0x1c], 0xe9e8
lea ecx, [esp + 0x22]
mov byte [ecx], 0
mov dword [ecx - 4], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
xor edx, 0x85
mov esi, ecx
or esi, 0x7a
and edx, esi
add edx, esi
xor dl, byte [esp + ecx + 0xc]
add dl, 0x9e
mov byte [esp + ecx + 0xc], dl
inc ecx
cmp ecx, 0x17
jne 0x4209f0
add ebx, 2
movzx ecx, word [esp + 0x58]
test cx, cx
je 0x420a41
lea edx, [esp + 0x5a]
nop
nop
nop
nop
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 0x420a30
mov word [ebx], 0
movzx ecx, word [esp + 0xc]
test cx, cx
mov dword [esp], eax
je 0x420a71
lea edx, [esp + 0xe]
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 0x420a60
mov word [ebx], 0
xor esi, esi
push dword [esp + 0x2c]
call fcn.00405750
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + esi], 0
lea esi, [esi + 1]
jne 0x420a90
lea eax, [edi + esi]
dec eax
mov edx, edi
not edx
and edx, eax
xor eax, edi
add edx, edx
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push edi
mov esi, dword [esp + 0xc]
push esi
call fcn.0040d220
mov ebx, eax
push edi
call fcn.004057e0
add esp, 4
push esi
call fcn.0040c730
add esp, 4
mov edi, dword [esp]
lea esi, [esp + 0x30]
push dword [esp + 0x2c]
call fcn.004049a0
add esp, 4
mov ecx, dword [esp + 0x28]
and cl, 1
or cl, bl
jmp 0x41ff04
mov ebx, esi
mov dword [esp + 0x28], 0
jmp 0x420b06
mov edi, dword [esp]
jmp 0x420b00
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov ebx, edi
lea ecx, [esp + 0x30]
call fcn.0043db20
mov dword [esp + 0x140], 0x2b8a977b
mov byte [esp + 0x144], 0x10
mov dword [esp + 0x145], 0
mov eax, 5
mov ecx, 0x22a88cfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x13b]
mov esi, eax
xor esi, ecx
and esi, edx
xor esi, ecx
mov edx, 0xad4ac0e5
sub edx, esi
lea esi, [edx + edx]
and esi, 2
mov edi, esi
and edi, edx
xor esi, edx
xor esi, 1
lea edx, [esi + edi*2]
mov byte [esp + eax + 0x13b], dl
inc eax
dec ecx
cmp eax, 0xe
jne 0x420b40
movzx eax, byte [esp + 0x140]
test al, al
je 0x420b9d
lea ecx, [esp + 0x141]
mov edx, dword [ebp + 0xc]
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420b90
jmp 0x420ba0
mov edx, dword [ebp + 0xc]
mov byte [ebx], 0
mov dword [edx], ebx
mov eax, dword [esp + 0x28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x44]
and cl, 1
test eax, eax
je 0x420b00
cmp eax, dword [esp + 0x48]
je 0x420b00
push eax
mov esi, ecx
call fcn.0040c730
mov ecx, esi
add esp, 4
mov dword [esp + 0x44], 0
jmp 0x420b00