Function at 0x41edc0
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 edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x140], 0x19b6bf45
mov byte [esp + 0x144], 0x24
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
movzx edx, byte [esp + ecx + 0x140]
mov esi, ecx
xor esi, 7
or esi, edx
lea ebx, [ecx + 0x38]
and ebx, esi
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x20
mov byte [esp + ecx + 0x140], dl
inc ecx
cmp ecx, 8
jne 0x41ee20
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
movzx ecx, byte [esp + 0x140]
test cl, cl
je 0x41ee7b
lea edx, [esp + 0x141]
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 0x41ee70
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 + 0x48]
lea edx, [esp + 0x58]
lea ebx, [esp + 0x30]
push ecx
push edx
push ebx
push dword [edi + 0x10]
push eax
push dword [edi + 0xc]
call fcn.00421a00
add esp, 0x18
test al, al
je 0x41f4cd
mov edi, esi
mov dword [esp + 0x140], 0x89f1e3e0
mov byte [esp + 0x144], 0xac
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
mov eax, 0xe3
mov ecx, 0x1c
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x124]
mov edx, eax
xor edx, ecx
and edx, esi
xor edx, ecx
add dl, 0x74
mov byte [esp + ecx + 0x124], dl
dec eax
inc ecx
cmp ecx, 0x27
jne 0x41ef00
movzx eax, byte [esp + 0x140]
test al, al
je 0x41ef4b
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 0x41ef40
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], 0x66a89d79
mov dword [esp + 0x144], 0xa46bbd8a
mov dword [esp + 0x148], 0xba649492
mov dword [esp + 0x14c], 0x9c9b9a99
mov dword [esp + 0x150], 0xa2b86bb1
mov dword [esp + 0x154], 0x9d9a8795
mov dword [esp + 0x158], 0xa8a7a6a5
mov dword [esp + 0x15c], 0xb5925384
mov dword [esp + 0x160], 0x9fa4995b
mov dword [esp + 0x164], 0xb64b479f
mov dword [esp + 0x168], 0x8e4ebda3
mov dword [esp + 0x16c], 0x4f8caca0
mov dword [esp + 0x170], 0xf44ebc9e
mov dword [esp + 0x174], 0x33d73735
mov dword [esp + 0x178], 0xcac0e1c7
mov dword [esp + 0x17c], 0xcccbcac9
mov dword [esp + 0x180], 0xfeedebe1
mov dword [esp + 0x184], 0xd427c8d3
mov dword [esp + 0x188], 0xd8d1f3c4
mov dword [esp + 0x18c], 0x2bdbdad9
mov dword [esp + 0x190], 0xe0dfded5
mov dword [esp + 0x194], 0xd31aefe1
mov dword [esp + 0x198], 0xe61ee312
mov dword [esp + 0x19c], 0xdedd1fe2
mov dword [esp + 0x1a0], 0xf0efeeed
mov dword [esp + 0x1a4], 0xd6020add
mov dword [esp + 0x1a8], 0xd3f5c6f5
mov dword [esp + 0x1ac], 0xfc0fd801
mov dword [esp + 0x1b0], 0xfffefd
mov dword [esp + 0x1b4], 0x8030201
mov dword [esp + 0x1b8], 0xa2932f1
mov dword [esp + 0x1bc], 0xc0b0a09
mov dword [esp + 0x1c0], 0x351b2c23
mov dword [esp + 0x1c4], 0xe13ee611
mov byte [esp + 0x1c8], 0xd4
mov byte [esp + 0x1cb], 0
mov word [esp + 0x1c9], 0
mov eax, 0x8d
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xb3]
lea esi, [eax - 0x5ddac300]
lea edx, [ecx + ecx]
not edx
add edx, ecx
not ecx
or edx, ecx
and edx, esi
lea esi, [edx + edx]
not esi
add esi, edx
or ecx, eax
and ecx, esi
mov dl, 0x3e
sub dl, cl
mov byte [esp + eax + 0xb3], dl
inc eax
cmp eax, 0x119
jne 0x41f110
mov dword [esp + 0x60], 0xe0dad6d6
mov dword [esp + 0x64], 0x501fbd78
mov dword [esp + 0x68], 0x436420e0
mov dword [esp + 0x6c], 0x5f5e5d5c
mov dword [esp + 0x70], 0xabc65ed5
mov dword [esp + 0x74], 0x4f472cec
mov dword [esp + 0x78], 0x4b4a4948
mov dword [esp + 0x7c], 0xf75e34f4
mov dword [esp + 0x80], 0xec9a05c3
mov dword [esp + 0x84], 0x7b7a06ea
mov dword [esp + 0x88], 0x7060504
mov dword [esp + 0x8c], 0x3020100
mov dword [esp + 0x90], 0xb08a8686
mov dword [esp + 0x94], 0x4e8efd28
mov dword [esp + 0x98], 0x2e519116
mov dword [esp + 0x9c], 0x2f2e2d2c
mov dword [esp + 0xa0], 0x9b02f098
mov dword [esp + 0xa4], 0x27c2e15d
mov dword [esp + 0xa8], 0x1b9364a0
mov dword [esp + 0xac], 0xc71e1d1c
mov dword [esp + 0xb0], 0x13121108
mov dword [esp + 0xb4], 0xd16dad14
mov dword [esp + 0xb8], 0xb571b1e8
mov dword [esp + 0xbc], 0x7975b5d4
mov dword [esp + 0xc0], 0x3020100
mov dword [esp + 0xc4], 0xe3c278b8
mov dword [esp + 0xc8], 0xb8340f8
mov dword [esp + 0xcc], 0xff78ba44
mov dword [esp + 0xd0], 0xf3f2f1f0
mov dword [esp + 0xd4], 0x4ff6f5f4
mov dword [esp + 0xd8], 0x1ee5e391
mov dword [esp + 0xdc], 0xefeeedec
mov dword [esp + 0xe0], 0x75e9a58
mov dword [esp + 0xe4], 0xc6375de4
mov byte [esp + 0xe8], 0xd8
mov byte [esp + 0xeb], 0
mov word [esp + 0xe9], 0
mov eax, 0xb19c7698
mov ecx, 0x67
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x4e6389c8]
mov esi, eax
or esi, edx
not edx
or edx, ecx
and edx, esi
mov ebx, edx
xor ebx, 0x780e50f8
mov esi, edx
or esi, 0x81902707
and esi, ebx
mov ebx, esi
and ebx, 0xfd
mov edi, edx
and edi, 2
or esi, 2
imul esi, edi
xor edi, 2
imul edi, ebx
xor edx, 7
add edx, edi
add edx, esi
inc dl
mov byte [esp + eax + 0x4e6389c8], dl
inc eax
dec ecx
cmp eax, 0xb19c7724
jne 0x41f2d0
lea eax, [esp + 0x140]
lea edx, [esp + 0x60]
lea ecx, [esp + 0x130]
push eax
push 0x88
push edx
lea edi, [esp + 0x3c]
push edi
call fcn.004408e0
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], eax
xor ebx, ebx
or eax, edx
je 0x41f4d4
mov dword [esp + 0x140], 0x27bcbfc0
mov byte [esp + 0x144], 0x28
mov dword [esp + 0x145], 0
mov word [esp + 0x149], 0
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x77
xor al, byte [esp + ebx + 0x140]
add al, 0xad
mov byte [esp + ebx + 0x140], al
inc ebx
cmp ebx, 0xb
jne 0x41f390
movzx eax, byte [esp + 0x140]
test al, al
mov esi, dword [esp + 4]
je 0x41f3db
lea ecx, [esp + 0x141]
nop
nop
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 0x41f3d0
mov byte [esi], 0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x130]
push 0
push 8
push eax
push edi
call fcn.004408e0
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
xor ebx, ebx
or eax, edx
je 0x420120
xor ebx, ebx
mov dword [esp + 4], esi
mov dword [esp + 0x140], 0xeb58584e
mov byte [esp + 0x144], 0xf0
mov dword [esp + 0x145], 0
mov byte [esp + 0x149], 0
nop
nop
nop
nop
nop
movzx ecx, byte [esp + ebx + 0x140]
lea eax, [ebx + 0x3ab18055]
mov edx, eax
and edx, ecx
mov esi, edx
and esi, 0x7d
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
add edx, edi
xor eax, edx
mov esi, 0x454e7faa
sub esi, ebx
and esi, edx
add esi, esi
sub eax, esi
add eax, ecx
mov ecx, eax
and ecx, 1
or eax, 1
add eax, ecx
add al, 0x56
mov byte [esp + ebx + 0x140], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 0xa
jb 0x41f440
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f4dd
lea ecx, [esp + 0x141]
mov esi, dword [esp + 4]
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 0x41f4c0
jmp 0x41f4e1
xor ebx, ebx
jmp 0x420120
mov esi, dword [esp + 4]
jmp 0x420120
mov esi, dword [esp + 4]
mov byte [esi], 0
lea eax, [esp + 0x120]
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x30]
push 0
push 8
push eax
push edx
call fcn.0043fe70
mov eax, dword [esp + 0x4c]
xor ebx, ebx
cmp eax, dword [esp + 0x50]
je 0x420120
mov dword [esp + 0x140], 0x27868783
mov byte [esp + 0x144], 0x28
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
xor edx, 0x39
mov ecx, ebx
and ecx, 0xc
sub ecx, edx
xor cl, byte [esp + eax + 0x140]
add cl, 0x1d
mov byte [esp + eax + 0x140], cl
inc eax
add ebx, 2
cmp eax, 0xc
jne 0x41f540
movzx eax, byte [esp + 0x140]
test al, al
je 0x41f58b
lea ecx, [esp + 0x141]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f580
mov byte [esi], 0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x108], ecx
xor ebx, ebx
cmp eax, ecx
je 0x420120
lea edi, [esp + 0x30]
jmp 0x41f5e2
mov dword [esp + 8], 0
push dword [esp + 0x44]
call fcn.004046d0
add esp, 4
and bl, 1
or bl, byte [esp + 8]
mov eax, dword [esp + 0x10c]
add eax, 8
cmp eax, dword [esp + 0x108]
je 0x4200fe
mov dword [esp + 0x2c], ebx
mov ecx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 0x10c], eax
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
push 0x198
push 0
lea eax, [esp + 0x148]
push eax
call fcn.0040c720
add esp, 0xc
xor ebx, ebx
jmp 0x41f630
mov esi, edi
lea edi, [esp + 0x30]
inc ebx
cmp ebx, 0xb
je 0x41f7f0
mov ecx, edi
push 0
push 0
push 0x198
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.0043fd10
test eax, eax
js 0x41f626
movzx eax, byte [esp + 0x210]
movzx ecx, byte [esp + 0x211]
or al, 0x30
mov byte [esp + 0xf0], al
or cl, 0x30
mov byte [esp + 0xf1], cl
movzx ecx, byte [esp + 0x212]
or cl, 0x30
mov byte [esp + 0xf2], cl
movzx ecx, byte [esp + 0x2d0]
or cl, 0x30
mov byte [esp + 0xf3], cl
mov word [esp + 0xf4], 0xa
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi + ecx], al
movzx eax, byte [esp + ecx + 0xf1]
inc ecx
test al, al
jne 0x41f6b0
mov byte [esi + ecx], 0
cmp byte [esp + 0x212], 0
jne 0x41f810
add esi, ecx
mov edi, esi
mov dword [esp + 0x60], 0x1bbd44ad
mov byte [esp + 0x64], 0x20
mov dword [esp + 0x65], 0
mov eax, 0x39
movzx edx, byte [esp + eax + 0x27]
mov ecx, eax
and ecx, edx
lea esi, [ecx + ecx]
not esi
add esi, ecx
lea ecx, [eax - 0x2b3db500]
or ecx, edx
and ecx, esi
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0xe2
mov byte [esp + eax + 0x27], cl
inc eax
cmp eax, 0x42
jne 0x41f6f0
movzx eax, byte [esp + 0x60]
test al, al
je 0x41f740
lea ecx, [esp + 0x61]
mov edx, edi
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41f730
jmp 0x41f742
mov edx, edi
mov edi, edx
mov byte [edx], 0
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 0xff676980
mov dword [esp + 0x60], 0x2c2d2e2f
lea eax, [esp + 0x64]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
movzx edx, byte [esp + eax + 0x60]
lea esi, [eax + 0xf8]
mov ecx, eax
xor ecx, esi
xor ecx, 7
and ecx, edx
xor ecx, esi
add cl, 0x28
mov byte [esp + eax + 0x60], cl
inc eax
cmp eax, 7
jne 0x41f770
mov eax, dword [0x451cfc]
test eax, eax
je 0x41f620
mov ecx, dword [esp + 0x60]
xor edx, edx
mov esi, dword [0x451d00]
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xf8fd61b8
je 0x41f7c3
inc edx
cmp eax, edx
jne 0x41f7b0
jmp 0x41f620
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x41f620
lea ecx, [esp + 0x10]
push ecx
push 0
push 2
push dword [0x451d04]
push eax
call fcn.00441c30
add esp, 0x14
jmp 0x41f620
cmp byte [esp + 0x212], 0
jne 0x41f812
mov ebx, dword [esp + 0x2c]
jmp 0x41f5cb
add esi, ecx
mov dword [esp + 4], esi
call fcn.00404890
mov dword [esp + 0x44], eax
push eax
call fcn.004044c0
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x60], 0x11bbbfb1
mov byte [esp + 0x64], 0x1c
lea eax, [esp + 0x64]
mov dword [eax + 4], 0
mov dword [eax + 1], 0
mov eax, 0xfa
mov ecx, 0x139e7505
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x9a]
mov edx, eax
xor edx, ecx
and edx, esi
xor edx, ecx
mov esi, edx
not esi
and esi, 0xe218491d
mov edi, edx
xor edi, 0x9de7b6e2
lea esi, [edi + esi*2]
lea edi, [edx + edx]
and edx, 1
mov ebx, esi
and ebx, 0xfe
or ebx, edx
and edi, 2
and esi, edi
or edi, 1
xor edi, ebx
lea edx, [edi + esi*2]
mov byte [esp + eax - 0x9a], dl
inc eax
dec ecx
cmp eax, 0x106
jne 0x41f860
movzx eax, byte [esp + 0x60]
test al, al
je 0x41f8e0
lea edx, [esp + 0x61]
mov esi, dword [esp + 4]
lea ecx, [esp + 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x41f8d0
jmp 0x41f8e8
mov esi, dword [esp + 4]
lea ecx, [esp + 0x30]
mov byte [esi], 0
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
xor ebx, ebx
mov edi, eax
or edi, edx
mov dword [esp + 4], esi
je 0x41f940
push 0
push 0
push 0x40
mov ebx, ecx
lea edi, [esp + 0x6c]
push edi
push edx
push eax
call fcn.0043fd10
test eax, eax
js 0x41f94a
mov ecx, ebx
mov edx, edi
push dword [esp + 0x40]
call fcn.004222c0
add esp, 4
mov dword [esp + 0xc], eax
jmp 0x41f952
mov dword [esp + 0xc], 0
jmp 0x41f954
mov dword [esp + 0xc], 0
xor ebx, ebx
mov dword [esp + 0x60], 0xfa8b0ab
mov byte [esp + 0x64], 0x18
lea eax, [esp + 0x64]
mov word [eax + 5], 0
mov dword [eax + 1], 0
mov edi, 1
mov esi, 0xfffffffe
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], edx
mov eax, ebx
and ebx, 4
mov ecx, edx
or ecx, 0x7384d4fb
mov edx, eax
xor edx, 0x7384d4fb
add edx, ecx
mov ecx, edi
sub ecx, ebx
add ebx, esi
add ecx, edx
sub ebx, edx
mov edx, ecx
xor edx, 0xe5aab708
or ecx, 0x1a5548f7
and ecx, edx
movzx edx, byte [esp + eax + 0x60]
and ebx, 0xe5aab708
or ecx, ebx
xor edx, 0xe5aab708
mov ebx, edx
and ebx, ecx
add ebx, ebx
sub ecx, ebx
add ecx, edx
mov edx, 1
sub edx, ecx
not edx
or edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov edx, dword [esp + 8]
add cl, 0x18
mov byte [esp + eax + 0x60], cl
lea ecx, [eax + 1]
add edi, 2
add esi, 0xfffffffe
dec edx
cmp ecx, 0xb
mov ebx, ecx
jne 0x41f990
movzx ecx, byte [esp + 0x60]
test cl, cl
mov esi, dword [esp + 4]
je 0x41fa40
lea edx, [esp + 0x61]
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x30]
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x41fa30
jmp 0x41fa48
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x30]
mov byte [esi], 0
cmp byte [esp + 0xc], 0
je 0x41f5b0
push dword [esp + 0x40]
call fcn.00404690
add esp, 4
test eax, eax
je 0x41fc0e
mov dword [esp + 4], esi
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 esi, [esp + 0x124]
push esi
push edx
push eax
call fcn.0043fd10
test eax, eax
js 0x41fd4b
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 esi, [esp + 0x11c]
push esi
push edx
push eax
call fcn.0043fd10
test eax, eax
js 0x41fd4b
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 esi, [esp + 0xfc]
push esi
push edx
push eax
call fcn.0043fd10
test eax, eax
js 0x41fd4b
cmp byte [esp + 0x107], 0
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
js 0x41fc19
mov dword [esp + 0x10], 0x41db47fb
mov dword [esp + 0x14], 0x4dd043ef
mov dword [esp + 0x18], 0x49024f2c
mov dword [esp + 0x1c], 0xb5d64beb
mov dword [esp + 0x20], 0xb112b717
mov word [esp + 0x24], 0xb3b0
lea eax, [esp + 0x26]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
movzx ecx, byte [esp + eax + 0x10]
mov esi, ecx
not esi
lea edx, [eax + 0x2dfcc271]
and esi, 0xd0
lea edi, [eax*2 + 0x5bf984e2]
neg edi
add edi, eax
add edi, 0xc270
and edi, 0x21dd0
and edx, 0x95c022f
or edx, edi
xor ecx, 0x24a2ddd0
or ecx, esi
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
mov edx, ecx
and edx, 0x4a
add edx, edx
xor ecx, 0x35
sub edx, ecx
mov byte [esp + eax + 0x10], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x19
jb 0x41fb60
movzx esi, word [esp + 0x10]
test si, si
je 0x41fc4b
lea eax, [esp + 0x10]
mov edx, dword [esp + 8]
mov ecx, edx
jmp 0x41fbe8
movzx esi, word [eax]
test si, si
je 0x41fc51
movzx edi, word [ecx]
test di, di
je 0x41fc83
add ecx, 2
add eax, 2
lea ebx, [edx + 2]
cmp di, si
je 0x41fc06
mov edx, ebx
mov ecx, ebx
je 0x41fbe0
lea eax, [esp + 0x10]
jmp 0x41fbe0
mov al, 1
mov dword [esp + 8], eax
jmp 0x41f5b8
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xf4]
mov eax, ebx
or eax, edi
je 0x41fd4b
mov eax, dword [esp + 0xf8]
mov esi, eax
inc esi
jns 0x41fd06
mov eax, 0xffffffff
jmp 0x41fd0d
mov edx, dword [esp + 8]
jmp 0x41fc59
lea ebx, [esp + 0x60]
test edx, edx
je 0x41fc87
movzx esi, word [edx + 0x14]
lea ebx, [esp + 0x60]
test si, si
je 0x41fc87
lea eax, [edx + 0x14]
xor ecx, ecx
nop
nop
nop
nop
nop
cmp si, 0x5c
je 0x41fcae
movzx esi, word [edx + ecx + 0x16]
add ecx, 2
test si, si
jne 0x41fc70
lea ebx, [esp + 0x60]
cmp byte [esp + 0x107], 0
jns 0x41fc9d
push dword [esp + 8]
call fcn.0040c520
add esp, 4
lea esi, [esp + 0x60]
cmp esi, ebx
jne 0x41fde6
jmp 0x41fd4f
lea edx, [esp + 0x60]
mov ebx, edx
test ecx, ecx
je 0x4200e6
sar ecx, 1
mov edi, ecx
mov ebx, edx
and edi, 3
je 0x42008c
xor esi, esi
mov dword [esp + 0xc], edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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 + 0xc]
add ebx, 2
inc esi
cmp edi, esi
jne 0x41fce0
mov edi, ecx
sub edi, esi
jmp 0x42008e
lea eax, [eax*2 + 2]
push eax
call fcn.0040c510
add esp, 4
mov edx, esi
and edx, 0xfffffffd
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
xor ecx, 2
imul ecx, edx
add esi, ecx
lea ecx, [esp + 0x30]
push 0
push 0
push esi
mov dword [esp + 0x14], eax
push eax
push edi
push ebx
call fcn.0043fd10
test eax, eax
jns 0x41fb20
lea esi, [esp + 0x60]
mov dword [esp + 0x10], 0x3ec01c9
mov dword [esp + 0x14], 0x7e905e7
mov dword [esp + 0x18], 0xbe409ef
mov dword [esp + 0x1c], 0xffa0de5
mov dword [esp + 0x20], 0x131211ff
lea eax, [esp + 0x26]
mov byte [eax], 0
mov word [eax - 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
and edx, 0x16
xor edx, 0xb6
mov ecx, eax
and ecx, 9
sub ecx, edx
add cl, 0x76
xor cl, byte [esp + eax + 0x10]
add cl, 0x40
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x17
jne 0x41fd90
movzx eax, word [esp + 0x10]
mov ebx, esi
test ax, ax
je 0x41fde1
lea ecx, [esp + 0x12]
mov ebx, esi
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 0x41fdd0
mov word [ebx], 0
mov eax, esi
mov esi, ebx
sub esi, eax
mov ecx, esi
shr ecx, 2
mov edx, dword [esp + 4]
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, esi
and ecx, 0xfffffffc
lea edi, [edx + ecx]
lea eax, [esp + ecx]
add eax, 0x60
mov ecx, esi
shr ecx, 1
and ecx, 1
mov edx, eax
mov dword [esp + 8], edi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test bl, 1
je 0x41fe32
mov ecx, esi
and ecx, 2
movzx eax, byte [eax + ecx]
mov edx, dword [esp + 8]
mov byte [edx + ecx], al
mov dword [esp + 0x10], 0x9fb3ad0a
mov word [esp + 0x14], 0xedf6
lea eax, [esp + 0x26]
mov byte [eax - 0xe], 0
mov word [eax - 0x10], 0
mov edi, 0xfc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi - 0xec]
mov ebx, edx
and ebx, edi
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, dl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edi
add al, 0x14
mov byte [esp + edi - 0xec], al
inc edi
cmp edi, 0x105
jne 0x41fe60
add dword [esp + 4], esi
movzx eax, byte [esp + 0x10]
test al, al
je 0x41fecd
lea ecx, [esp + 0x11]
mov edx, dword [esp + 4]
mov edi, dword [ebp + 0x14]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41fec0
jmp 0x41fed4
mov edx, dword [esp + 4]
mov edi, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov byte [edx], 0
mov edi, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41fef0
sar eax, 1
sar esi, 1
lea ecx, [esi + eax]
add ecx, 0xa
test ecx, ecx
jns 0x41ff10
mov eax, 0xffffffff
jmp 0x41ff19
add esi, eax
lea eax, [esi*2 + 0x14]
push eax
call fcn.0040c510
add esp, 4
movzx ecx, word [edi]
mov edx, eax
test cx, cx
je 0x41ff51
add edi, 2
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41ff40
mov dword [esp + 0xc], eax
mov eax, edx
mov word [edx], 0x2f
mov dword [esp + 0x10], 0xc30cc12f
mov dword [esp + 0x14], 0xc751c561
mov dword [esp + 0x18], 0xcb5ec926
mov dword [esp + 0x1c], 0xcf5acd54
mov word [esp + 0x20], 0xb1b0
lea ecx, [esp + 0x26]
mov byte [ecx], 0
mov dword [ecx - 4], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x10]
mov edi, ecx
and edi, 0x20
mov ebx, edx
xor ebx, 0x922eb830
add ebx, edi
xor ebx, esi
mov esi, ebx
xor esi, 0x95
and ebx, 0x6a
add ebx, ebx
sub ebx, esi
add bl, 0xa5
mov byte [esp + edx + 0x10], bl
inc edx
add ecx, 2
cmp edx, 0x17
jne 0x41ffa0
add eax, 2
movzx ecx, word [esp + 0x60]
test cx, cx
je 0x420003
lea edx, [esp + 0x62]
mov ebx, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fff0
jmp 0x420007
mov ebx, dword [esp + 0x2c]
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x420031
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420020
mov word [eax], 0
mov esi, 0xffffffff
push dword [esp + 0x44]
call fcn.00405420
add esp, 4
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + esi + 1], 0
lea esi, [esi + 1]
jne 0x420050
mov ecx, dword [ebp + 8]
push esi
push edi
mov esi, dword [esp + 0x14]
push esi
call fcn.0040d000
mov dword [esp + 8], eax
push edi
call fcn.004054b0
add esp, 4
push esi
call fcn.0040c520
add esp, 4
mov esi, dword [esp + 4]
lea edi, [esp + 0x30]
jmp 0x41f5b8
mov edi, ecx
dec ecx
cmp ecx, 3
jb 0x4200e6
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 0x420094
mov word [ebx], 0
cmp byte [esp + 0x107], 0
jns 0x41fc9d
jmp 0x41fc91
mov eax, dword [esp + 0x4c]
and bl, 1
test eax, eax
je 0x420120
cmp eax, dword [esp + 0x50]
je 0x420120
push eax
call fcn.0040c520
add esp, 4
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x30]
call fcn.0043f580
mov dword [esp + 0x140], 0x21bab1c5
mov byte [esp + 0x144], 0x34
mov dword [esp + 0x145], 0
mov dword [esp + 0x148], 0
mov eax, 0x11d95b76
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x11d95a36]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xb2
mov byte [esp + eax - 0x11d95a36], cl
inc eax
cmp eax, 0x11d95b82
jne 0x420160
movzx eax, byte [esp + 0x140]
test al, al
je 0x4201ab
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 0x4201a0
mov byte [esi], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret