Function at 0x41f0b0
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, 0x2e0
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x140], 0x891ee7ed
mov byte [esp + 0x144], 0xac
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
mov ecx, 0x9c
mov edx, 0x49d876e3
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0xa4]
lea esi, [ecx - 0x24ec3c00]
lea edi, [edx - 0x49d87680]
and edi, 0x57
and esi, 0xa8
or esi, edi
xor esi, 0xa8
and esi, edx
mov edi, ecx
or edi, ebx
not ebx
or ebx, esi
and ebx, edi
add bl, 0xf4
mov byte [esp + ecx + 0xa4], bl
inc ecx
dec edx
cmp ecx, 0xa6
jne 0x41f110
mov edi, dword [ebp + 0xc]
mov esi, dword [edi]
movzx ecx, byte [esp + 0x140]
test cl, cl
je 0x41f17b
lea edx, [esp + 0x141]
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41f170
mov byte [esi], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
lea ebx, [esp + 0x2c]
push ecx
push edx
push ebx
mov ecx, dword [ebp + 0x14]
push dword [ecx + 0x10]
push eax
push dword [ecx + 0xc]
call fcn.004215f0
add esp, 0x18
test al, al
je 0x41f85d
mov edi, esi
mov dword [esp + 0x140], 0x7fd7c5dc
mov byte [esp + 0x144], 0x48
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
mov eax, 0x13
mov ecx, 0xec
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x12d]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xa1
mov byte [esp + eax + 0x12d], dl
inc eax
dec ecx
cmp eax, 0x1e
jne 0x41f200
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f24b
lea ecx, [esp + 0x141]
nop
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 0x41f240
mov dword [esp], edi
mov byte [edi], 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], 0xd2003dd1
mov dword [esp + 0x144], 0x1cd71d36
mov dword [esp + 0x148], 0x16c43426
mov dword [esp + 0x14c], 0x34373631
mov dword [esp + 0x150], 0x3e10cf19
mov dword [esp + 0x154], 0x5061b0d
mov dword [esp + 0x158], 0x4043423d
mov dword [esp + 0x15c], 0x5d7ebf6c
mov dword [esp + 0x160], 0x7b4471bf
mov dword [esp + 0x164], 0x4ab7bb7b
mov dword [esp + 0x168], 0x6aaa5d57
mov dword [esp + 0x16c], 0xa36c4c48
mov dword [esp + 0x170], 0x6caa5c72
mov dword [esp + 0x174], 0xa74babad
mov dword [esp + 0x178], 0x6668495b
mov dword [esp + 0x17c], 0x64676661
mov dword [esp + 0x180], 0x5a4d4f49
mov dword [esp + 0x184], 0x6c9b706f
mov dword [esp + 0x188], 0x7079577c
mov dword [esp + 0x18c], 0x8f777671
mov dword [esp + 0x190], 0x787b7a7d
mov dword [esp + 0x194], 0x47867379
mov dword [esp + 0x198], 0x927a8786
mov dword [esp + 0x19c], 0xb2bd738e
mov dword [esp + 0x1a0], 0x888b8a85
mov dword [esp + 0x1a4], 0xaa7e76a5
mov dword [esp + 0x1a8], 0xbf95a28d
mov dword [esp + 0x1ac], 0x9463b069
mov dword [esp + 0x1b0], 0x989b9a95
mov dword [esp + 0x1b4], 0x909f9e99
mov dword [esp + 0x1b8], 0xa6919669
mov dword [esp + 0x1bc], 0xa4a7a6a1
mov dword [esp + 0x1c0], 0x8dbf8c97
mov dword [esp + 0x1c4], 0x59825aa9
mov byte [esp + 0x1c8], 0x6c
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c9], 0
lea eax, [esp + 0x140]
mov ecx, 0xd8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
lea edx, [ecx - 0x1d927c00]
or edx, esi
and esi, ecx
not edx
or edx, esi
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
add dl, 0x3c
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x48
jne 0x41f420
mov dword [esp + 0x70], 0xb8768282
mov dword [esp + 0x74], 0x18ab5510
mov dword [esp + 0x78], 0xf14a868
mov dword [esp + 0x7c], 0x2b2a2524
mov dword [esp + 0x80], 0x27ba2aad
mov dword [esp + 0x84], 0x3b03a464
mov dword [esp + 0x88], 0x17161110
mov dword [esp + 0x8c], 0x530a9c5c
mov dword [esp + 0x90], 0xbc76dd9f
mov dword [esp + 0x94], 0xcfcedabe
mov dword [esp + 0x98], 0xcbcacdcc
mov dword [esp + 0x9c], 0xc7c6c9c8
mov dword [esp + 0xa0], 0x8846b2b2
mov dword [esp + 0xa4], 0xfa3a5520
mov dword [esp + 0xa8], 0x72f93942
mov dword [esp + 0xac], 0x7b7a7574
mov dword [esp + 0xb0], 0x375e2830
mov dword [esp + 0xb4], 0x630639f5
mov dword [esp + 0xb8], 0x67ffec28
mov dword [esp + 0xbc], 0x36a6564
mov dword [esp + 0xc0], 0x6f6e6940
mov dword [esp + 0xc4], 0x19dd256c
mov dword [esp + 0xc8], 0xe5d91930
mov dword [esp + 0xcc], 0xa1d51d3c
mov dword [esp + 0xd0], 0x5f5e5958
mov dword [esp + 0xd4], 0x2706d010
mov dword [esp + 0xd8], 0x37cf0840
mov dword [esp + 0xdc], 0x4bc08e0c
mov dword [esp + 0xe0], 0x4f4e4948
mov dword [esp + 0xe4], 0xfbb24d4c
mov dword [esp + 0xe8], 0xc2b5af39
mov dword [esp + 0xec], 0xbbbab5b4
mov dword [esp + 0xf0], 0xdbf236f0
mov dword [esp + 0xf4], 0x82f3f5bc
mov byte [esp + 0xf8], 0xa0
mov dword [esp + 0xf9], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
and ecx, 0x88
mov edx, eax
and edx, 2
mov esi, edx
xor esi, 2
imul esi, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0x8a
add edx, esi
add edx, ecx
xor dl, byte [esp + eax + 0x70]
add dl, 0x4e
mov byte [esp + eax + 0x70], dl
inc eax
cmp eax, 0x8d
jne 0x41f5d0
lea edi, [esp + 0x140]
lea eax, [esp + 0x70]
lea ecx, [esp + 0x130]
push edi
push 0x88
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004416b0
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], eax
or eax, edx
je 0x41f864
mov dword [esp + 0x140], 0xbb1c1b68
mov byte [esp + 0x144], 0xb0
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
mov eax, 0xf75d935d
nop
nop
movzx ecx, byte [esp + eax + 0x8a26de3]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x2f
mov byte [esp + eax + 0x8a26de3], cl
inc eax
cmp eax, 0xf75d9367
jne 0x41f670
movzx eax, byte [esp + 0x140]
test al, al
mov esi, dword [esp]
je 0x41f6bb
lea ecx, [esp + 0x141]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f6b0
mov byte [esi], 0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x130]
push 0
push 8
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004416b0
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
xor ecx, ecx
or eax, edx
je 0x4202bd
mov dword [esp + 0x140], 0x9acaca2
mov byte [esp + 0x144], 0xec
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
nop
nop
nop
nop
mov eax, ecx
add al, 0xfc
xor al, byte [esp + ecx + 0x140]
add al, 0x14
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 0xc
jne 0x41f720
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f75b
lea ecx, [esp + 0x141]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f750
mov byte [esi], 0
lea eax, [esp + 0x120]
lea edx, [esp + 0x44]
lea ecx, [esp + 0x2c]
push 0
push 8
push eax
push edx
call fcn.00440c60
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x48]
je 0x41f86e
mov dword [esp], esi
mov dword [esp + 0x140], 0x3b929387
mov byte [esp + 0x144], 0x20
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
mov eax, 0x60d431b6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [edi]
mov ecx, eax
or ecx, edx
lea esi, [eax - 0x60d43100]
and esi, edx
not ecx
or ecx, esi
mov edx, ecx
and edx, 0x8420c890
mov esi, ecx
and esi, 2
mov ebx, esi
xor ebx, 2
imul ebx, edx
or edx, 2
imul edx, esi
xor ecx, 0xe424f892
add ecx, ebx
add ecx, edx
mov edx, ecx
not edx
or edx, 1
add edx, ecx
inc edx
mov esi, edx
and esi, 2
mov ebx, edx
or edx, 2
imul edx, esi
xor esi, 2
and ebx, 0xfffffffd
imul ebx, esi
add edx, ebx
mov esi, edx
and esi, ecx
xor edx, ecx
xor edx, 1
lea ecx, [edx + esi*2]
mov byte [edi], cl
inc edi
dec eax
cmp eax, 0x60d431ab
jne 0x41f7c0
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f875
lea ecx, [esp + 0x141]
mov edi, dword [ebp + 0xc]
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f850
jmp 0x41f87b
xor ebx, ebx
jmp 0x4202c2
xor ecx, ecx
mov esi, dword [esp]
jmp 0x4202bd
xor ecx, ecx
jmp 0x4202bd
mov edi, dword [ebp + 0xc]
mov esi, dword [esp]
mov byte [esi], 0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x108], ecx
cmp eax, ecx
je 0x42034a
xor ecx, ecx
lea edi, [esp + 0x2c]
jmp 0x41f8ce
xor ebx, ebx
push dword [esp + 0x28]
call fcn.004049a0
add esp, 4
mov ecx, dword [esp + 0x3c]
and cl, 1
or cl, bl
mov eax, dword [esp + 0x10c]
add eax, 8
cmp eax, dword [esp + 0x108]
je 0x42028e
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax]
mov dword [esp], ecx
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
push 0x198
push 0
lea eax, [esp + 0x148]
push eax
call fcn.0040cb90
add esp, 0xc
xor ebx, ebx
jmp 0x41f90e
lea edi, [esp + 0x2c]
inc ebx
cmp ebx, 0xb
je 0x41fae0
mov ecx, edi
push 0
push 0
push 0x198
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x38]
push dword [esp + 0x14]
call fcn.00440b10
test eax, eax
js 0x41f904
movzx eax, byte [esp + 0x210]
movzx ecx, byte [esp + 0x211]
or al, 0x30
mov byte [esp + 0x58], al
or cl, 0x30
mov byte [esp + 0x59], cl
movzx ecx, byte [esp + 0x212]
or cl, 0x30
mov byte [esp + 0x5a], cl
movzx ecx, byte [esp + 0x2d0]
or cl, 0x30
mov byte [esp + 0x5b], cl
mov word [esp + 0x5c], 0xa
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi + ecx], al
movzx eax, byte [esp + ecx + 0x59]
inc ecx
test al, al
jne 0x41f980
mov byte [esi + ecx], 0
cmp byte [esp + 0x212], 0
jne 0x41fb00
add esi, ecx
mov edi, esi
mov dword [esp + 0x70], 0x993b300f
mov byte [esp + 0x74], 0x9c
mov dword [esp + 0x75], 0
mov eax, 0x24
nop
nop
nop
movzx edx, byte [esp + eax + 0x4c]
mov ecx, eax
and ecx, edx
add ecx, ecx
add edx, eax
add edx, 0xe6505400
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
mov edx, ecx
or edx, 0x4a
and ecx, 0x4a
add ecx, edx
add cl, 2
mov byte [esp + eax + 0x4c], cl
inc eax
cmp eax, 0x2d
jne 0x41f9c0
movzx eax, byte [esp + 0x70]
test al, al
je 0x41fa20
lea ecx, [esp + 0x71]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fa10
jmp 0x41fa22
mov esi, edi
mov byte [esi], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0xff676980
mov dword [esp + 0x70], 0x484b4a4d
mov byte [esp + 0x74], 0
mov eax, 0x2df38a93
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x2df38a23]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x20
xor ecx, 0x20
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x2df38a23], cl
inc eax
cmp eax, 0x2df38a98
jne 0x41fa50
mov eax, dword [0x451f80]
test eax, eax
je 0x41f900
mov ecx, dword [esp + 0x70]
xor edx, edx
mov edi, dword [0x451f84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xf8fd61b8
je 0x41fab3
inc edx
cmp eax, edx
jne 0x41faa0
jmp 0x41f900
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0x41f900
lea ecx, [esp + 8]
push ecx
push 0
push 2
push dword [0x451f88]
push eax
call fcn.00442960
add esp, 0x14
jmp 0x41f900
cmp byte [esp + 0x212], 0
jne 0x41fb02
mov ecx, dword [esp + 0x3c]
jmp 0x41f8b7
add esi, ecx
mov ebx, esi
call fcn.00404b60
mov dword [esp + 0x28], eax
push eax
call fcn.00404790
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x70], 0x9bf9c5ff
mov byte [esp + 0x74], 0x60
lea eax, [esp + 0x75]
mov word [eax + 4], 0
mov dword [eax], 0
mov eax, 0xbba3f119
mov ecx, 0x26
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x445c0f57]
mov edi, ecx
and edi, 0x29
mov edx, eax
and edx, 0x16
or edx, edi
xor edx, eax
xor edx, 0xd6
and edx, esi
xor edx, eax
add edx, 0xec4c99c7
mov esi, edx
xor esi, 0x45
and edx, 0x3a
add edx, edx
sub edx, esi
inc dl
mov byte [esp + eax + 0x445c0f57], dl
inc eax
dec ecx
cmp eax, 0xbba3f124
jne 0x41fb50
movzx eax, byte [esp + 0x70]
test al, al
je 0x41fbc0
lea ecx, [esp + 0x71]
lea edi, [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fbb0
jmp 0x41fbc4
lea edi, [esp + 0x2c]
mov byte [ebx], 0
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov ecx, eax
or ecx, edx
mov dword [esp], ebx
je 0x41fc10
mov ecx, edi
push 0
push 0
push 0x40
lea esi, [esp + 0x7c]
push esi
push edx
push eax
call fcn.00440b10
test eax, eax
js 0x41fc10
mov ecx, edi
mov edx, esi
push dword [esp + 4]
call fcn.00421e60
add esp, 4
jmp 0x41fc12
xor eax, eax
mov dword [esp + 0x70], 0x2b405847
mov byte [esp + 0x74], 0x30
lea ecx, [esp + 0x75]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x3ff6cf35
mov esi, 0xc00930ca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x3ff6cec5]
lea edi, [ebx + ebx]
not edi
add edi, ebx
mov edx, ebx
and edx, 0x26
and edi, 0x1fc4c719
or edi, edx
xor edi, 0x1fc4c719
and edi, ecx
not ebx
and ebx, esi
or ebx, edi
mov edx, 0xae8b757f
sub edx, ebx
mov edi, edx
xor edi, 0x89
and edx, 0x76
add edx, edx
sub edx, edi
mov byte [esp + ecx - 0x3ff6cec5], dl
inc ecx
dec esi
cmp ecx, 0x3ff6cf3d
jne 0x41fc40
movzx ecx, byte [esp + 0x70]
test cl, cl
mov esi, dword [esp]
je 0x41fcc0
lea edx, [esp + 0x71]
lea edi, [esp + 0x2c]
nop
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 0x41fcb0
jmp 0x41fcc4
lea edi, [esp + 0x2c]
mov byte [esi], 0
test al, al
je 0x41f8a0
push dword [esp + 4]
call fcn.00404960
add esp, 4
test eax, eax
je 0x41fe42
mov eax, dword [esp + 0x298]
mov edx, dword [esp + 0x29c]
add eax, 0x28
adc edx, 0
mov ecx, edi
push 0
push 0
push 8
lea ebx, [esp + 0x124]
push ebx
push edx
push eax
call fcn.00440b10
test eax, eax
mov dword [esp], esi
js 0x41fe99
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
add eax, 0x10
adc edx, 0
mov ecx, edi
push 0
push 0
push 8
lea ebx, [esp + 0x11c]
push ebx
push edx
push eax
call fcn.00440b10
test eax, eax
js 0x41fe99
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
add eax, 0x10
adc edx, 0
mov ecx, edi
push 0
push 0
push 0x18
lea edi, [esp + 0x64]
push edi
push edx
push eax
call fcn.00440b10
test eax, eax
js 0x41fe99
cmp byte [esp + 0x6f], 0
lea eax, [esp + 0x58]
mov dword [esp + 4], eax
js 0x41fe49
mov dword [esp + 8], 0x31cb3feb
mov dword [esp + 0xc], 0x35c033d7
mov dword [esp + 0x10], 0xc9f23714
mov dword [esp + 0x14], 0xcd3ecb2b
mov dword [esp + 0x18], 0xc122cf2f
mov word [esp + 0x1c], 0xc3c0
lea eax, [esp + 0x1e]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x75
movzx ecx, byte [esp + eax - 0x6d]
mov edx, ecx
not edx
or edx, eax
add dl, dl
add dl, cl
neg dl
movzx ecx, dl
add ecx, eax
add cl, 0xb5
mov byte [esp + eax - 0x6d], cl
inc eax
cmp eax, 0x8e
jne 0x41fdd0
movzx ebx, word [esp + 8]
test bx, bx
je 0x42016c
lea eax, [esp + 8]
mov edx, dword [esp + 4]
mov ecx, edx
jmp 0x41fe1c
movzx ebx, word [eax]
test bx, bx
je 0x42017b
movzx esi, word [ecx]
test si, si
je 0x420172
add ecx, 2
add eax, 2
lea edi, [edx + 2]
cmp si, bx
je 0x41fe3a
mov edx, edi
mov ecx, edi
je 0x41fe10
lea eax, [esp + 8]
jmp 0x41fe10
mov bl, 1
jmp 0x41f8a2
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov eax, ebx
or eax, edi
je 0x41fe99
mov eax, dword [esp + 0x60]
lea ecx, [eax*2 + 2]
inc eax
mov dword [esp + 4], ecx
mov eax, ecx
jns 0x41fe70
mov eax, 0xffffffff
push eax
call fcn.0040ca00
add esp, 4
lea ecx, [esp + 0x2c]
push 0
push 0
push dword [esp + 0xc]
mov dword [esp + 0x10], eax
push eax
push edi
push ebx
call fcn.00440b10
test eax, eax
jns 0x41fd8f
lea edx, [esp + 0x70]
mov dword [esp + 8], 0x89388bdb
mov dword [esp + 0xc], 0x85378735
mov dword [esp + 0x10], 0x8130833d
mov dword [esp + 0x14], 0x9d129f37
mov dword [esp + 0x18], 0x999a9b2d
lea eax, [esp + 0x1e]
mov byte [eax], 0
mov word [eax - 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x23
xor cl, byte [esp + eax + 8]
add cl, 0x51
mov byte [esp + eax + 8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x17
jb 0x41fee0
movzx eax, word [esp + 8]
mov ebx, edx
test ax, ax
je 0x41ff31
lea ecx, [esp + 0xa]
mov ebx, edx
nop
nop
nop
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 0x41ff20
mov word [ebx], 0
mov eax, edx
mov edx, ebx
sub edx, eax
mov ecx, edx
shr ecx, 2
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, edx
and eax, 0xfffffffc
lea edi, [esi + eax]
add eax, esp
add eax, 0x70
mov ecx, edx
shr ecx, 1
and ecx, 1
mov esi, eax
mov dword [esp + 4], edi
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test bl, 1
je 0x41ff7d
mov ecx, edx
and ecx, 2
movzx eax, byte [eax + ecx]
mov esi, dword [esp + 4]
mov byte [esi + ecx], al
mov dword [esp + 8], 0xb7c3c51a
mov dword [esp + 0xc], 0x251e
xor eax, eax
mov ecx, 0xbce5ac87
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 8]
mov ebx, ecx
or ebx, esi
mov edi, eax
xor edi, 0x87
and edi, esi
xor edi, ebx
mov ebx, edi
not ebx
and edi, 0x59
and ebx, 0xa6
sub ebx, edi
inc bl
mov byte [esp + eax + 8], bl
inc eax
dec ecx
cmp eax, 8
jne 0x41ffa0
mov esi, dword [esp]
add esi, edx
movzx eax, byte [esp + 8]
test al, al
je 0x41fffb
lea ecx, [esp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fff0
mov byte [esi], 0
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x420010
sar eax, 1
sar edx, 1
lea ecx, [edx + eax]
add ecx, 0xa
test ecx, ecx
jns 0x420030
mov eax, 0xffffffff
jmp 0x420039
add edx, eax
lea eax, [edx*2 + 0x14]
push eax
call fcn.0040ca00
add esp, 4
movzx ecx, word [edi]
mov ebx, eax
test cx, cx
je 0x420071
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 0x420060
mov word [ebx], 0x2f
mov dword [esp + 8], 0xc170c715
mov dword [esp + 0xc], 0xcd5bc36f
mov dword [esp + 0x10], 0xc952cf1a
mov dword [esp + 0x14], 0xb556cb50
mov dword [esp + 0x18], 0xb7b4
xor ecx, ecx
mov edx, ecx
add dl, 0xb1
xor dl, byte [esp + ecx + 8]
add dl, 0x8b
mov byte [esp + ecx + 8], dl
inc ecx
cmp ecx, 0x14
jne 0x4200a0
add ebx, 2
movzx ecx, word [esp + 0x70]
test cx, cx
je 0x4200e1
lea edx, [esp + 0x72]
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 0x4200d0
mov word [ebx], 0
movzx ecx, word [esp + 8]
test cx, cx
mov dword [esp], eax
je 0x420111
lea edx, [esp + 0xa]
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 0x420100
mov word [ebx], 0
mov ebx, 0xffffffff
push dword [esp + 0x28]
call fcn.004057d0
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x420130
mov ecx, dword [ebp + 8]
push ebx
push edi
mov ebx, dword [esp + 8]
push ebx
call fcn.0040d490
mov dword [esp + 4], eax
push edi
call fcn.00405860
add esp, 4
push ebx
mov ebx, dword [esp + 8]
call fcn.0040ca10
add esp, 4
lea edi, [esp + 0x2c]
jmp 0x41f8a2
mov edx, dword [esp + 4]
jmp 0x42018a
lea ebx, [esp + 0x70]
jmp 0x420267
lea ebx, [esp + 0x70]
test edx, edx
mov esi, dword [esp]
je 0x42026a
movzx edi, word [edx + 0x14]
lea ebx, [esp + 0x70]
test di, di
je 0x42026a
lea eax, [edx + 0x14]
xor ecx, ecx
cmp di, 0x5c
je 0x4201bc
movzx edi, word [edx + ecx + 0x16]
add ecx, 2
test di, di
jne 0x4201a0
lea ebx, [esp + 0x70]
jmp 0x42026a
lea edx, [esp + 0x70]
mov ebx, edx
test ecx, ecx
je 0x420262
sar ecx, 1
mov esi, ecx
and esi, 3
je 0x420206
xor edi, edi
mov ebx, edx
mov dword [esp + 0x104], esi
nop
nop
movzx esi, word [eax]
xor edx, edx
test si, si
setne dl
lea eax, [eax + edx*2]
mov word [ebx], si
mov esi, dword [esp + 0x104]
add ebx, 2
inc edi
cmp esi, edi
jne 0x4201e0
mov esi, ecx
sub esi, edi
jmp 0x42020a
mov ebx, edx
mov esi, ecx
dec ecx
cmp ecx, 3
jb 0x420262
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 esi, 0xfffffffc
jne 0x420210
mov word [ebx], 0
mov esi, dword [esp]
cmp byte [esp + 0x6f], 0
jns 0x42027d
push dword [esp + 4]
call fcn.0040ca10
add esp, 4
lea edx, [esp + 0x70]
cmp edx, ebx
jne 0x41ff36
jmp 0x41fe9d
mov eax, dword [esp + 0x44]
and cl, 1
test eax, eax
je 0x4202bd
cmp eax, dword [esp + 0x48]
mov edi, dword [ebp + 0xc]
je 0x4202c0
push eax
mov ebx, edi
mov edi, ecx
call fcn.0040ca10
mov ecx, edi
mov edi, ebx
add esp, 4
mov dword [esp + 0x44], 0
jmp 0x4202c0
mov edi, dword [ebp + 0xc]
mov ebx, ecx
lea ecx, [esp + 0x2c]
call fcn.004403c0
mov dword [esp + 0x140], 0x1baaafbb
mov byte [esp + 0x144], 0x20
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0xf9
xor al, byte [esp + ecx + 0x140]
add al, 0x23
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 0xc
jne 0x420300
movzx eax, byte [esp + 0x140]
test al, al
je 0x42033b
lea ecx, [esp + 0x141]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420330
mov byte [esi], 0
mov dword [edi], esi
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
jmp 0x4202c0