Function at 0x40d271
Capabilities:
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, 0x458
mov dword [esp + 0x50], 0xab39ad19
mov dword [esp + 0x54], 0x973fa92e
mov dword [esp + 0x58], 0x93069500
mov dword [esp + 0x5c], 0x9fcd9131
mov dword [esp + 0x60], 0x9bc89dc1
mov dword [esp + 0x64], 0x87e699c8
mov dword [esp + 0x68], 0x833985ec
mov dword [esp + 0x6c], 0x8f1c8129
mov dword [esp + 0x70], 0x8b198d20
mov dword [esp + 0x74], 0xf7698913
mov dword [esp + 0x78], 0xf340f594
mov dword [esp + 0x7c], 0xff9ef14c
mov dword [esp + 0x80], 0xfbaafdad
mov dword [esp + 0x84], 0xe7b6f9aa
mov dword [esp + 0x88], 0xe382e5a3
mov dword [esp + 0x8c], 0xef47e15b
mov dword [esp + 0x90], 0xebb0ed7e
mov dword [esp + 0x94], 0xd791e9b4
mov dword [esp + 0x98], 0xd34ad5b4
mov dword [esp + 0x9c], 0xdf82d18a
mov dword [esp + 0xa0], 0xdbbaddb5
mov dword [esp + 0xa4], 0xc756d999
mov dword [esp + 0xa8], 0xc356c554
mov dword [esp + 0xac], 0xcf75c16d
mov dword [esp + 0xb0], 0xcb64cd61
mov dword [esp + 0xb4], 0x379fc97f
mov dword [esp + 0xb8], 0x336135a8
mov dword [esp + 0xbc], 0x3f61316d
mov dword [esp + 0xc0], 0x3b683d67
mov dword [esp + 0xc4], 0x277c3967
mov dword [esp + 0xc8], 0x234a2544
mov dword [esp + 0xcc], 0x2f662197
mov dword [esp + 0xd0], 0x2b9f2d90
mov dword [esp + 0xd4], 0x1742299c
mov dword [esp + 0xd8], 0x13861574
mov dword [esp + 0xdc], 0x1f8911b9
mov dword [esp + 0xe0], 0x1b7a1db1
mov dword [esp + 0xe4], 0x7ab1953
mov dword [esp + 0xe8], 0x39505ab
mov dword [esp + 0xec], 0xf670193
mov dword [esp + 0xf0], 0xb450d6c
mov dword [esp + 0xf4], 0x77e809a0
mov dword [esp + 0xf8], 0x73e775e7
mov dword [esp + 0xfc], 0x7f2d71dd
mov dword [esp + 0x100], 0x7b2b7d2d
mov dword [esp + 0x104], 0x67347921
mov dword [esp + 0x108], 0x63306534
mov dword [esp + 0x10c], 0x6f3c6130
mov dword [esp + 0x110], 0x6b0a6d3c
mov dword [esp + 0x114], 0x57f769d7
mov dword [esp + 0x118], 0x53f355fe
mov dword [esp + 0x11c], 0x5ff751ce
mov dword [esp + 0x120], 0x5b075d0f
mov dword [esp + 0x124], 0x471d5907
mov dword [esp + 0x128], 0x431d4516
mov dword [esp + 0x12c], 0x4f4e411a
mov eax, dword [0x44c1cc]
mov dword [esp + 8], eax
xor edi, edi
xor edx, edx
movzx eax, byte [esp + edx + 0x50]
mov esi, edx
xor esi, 0xb7cb0266
mov ecx, edi
and ecx, 0x132
sub ecx, esi
mov esi, eax
lea ebx, [eax + eax]
not ebx
add ebx, eax
and eax, 0xffffffc3
and ebx, 0x10153c
or ebx, eax
not esi
xor ebx, 0x4824eac3
and ebx, ecx
or esi, ecx
xor ebx, 0xf7a0528e
and esi, 0xf7a052ff
xor esi, 0x71
mov eax, ebx
and eax, esi
add esi, ebx
add eax, eax
sub esi, eax
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
mov ecx, eax
or ecx, 0xc9
and eax, 0xc9
add eax, ecx
inc al
mov byte [esp + edx + 0x50], al
inc edx
add edi, 2
cmp edx, 0xe0
jne case.default.0x40c7c3
lea eax, [esp + 0x50]
push 0
push 0
push 0
push 0
push eax
call dword [esp + 0x1c]
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446eb8]
xor edi, edi
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
xor esi, esi
jmp dword [eax*4 + 0x446f90]
mov dword [ecx], esi
xor eax, eax
cmp dword [ebp + 0x20], 0
setne al
jmp dword [eax*4 + 0x446fe0]
push 0
push 0x1bb
push dword [ebp + 8]
push esi
call dword [0x44c1d0]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
xor edi, edi
jmp dword [ecx*4 + 0x446ec0]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov eax, dword [0x44c1d4]
mov dword [esp + 8], eax
mov dword [esp + 0x50], 0xfb89f9b6
mov dword [esp + 0x54], 0xff88fd8f
mov word [esp + 0x58], 0xf1fe
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5d], 0
mov ecx, 0x649310df
mov edx, 0x9b6cef20
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x6493108f]
mov ebx, edi
and ebx, 0xffffff9f
xor ebx, 0xf0f6039f
mov eax, edi
xor eax, 0xf09fc60
lea esi, [eax + eax]
not esi
add esi, eax
and edi, 0x60
or edi, eax
mov eax, edi
not eax
or eax, esi
add edi, eax
inc edi
or edi, ebx
mov eax, edx
and eax, 0x8b042b07
mov ebx, ecx
and ebx, 0x600110f8
or ebx, eax
mov eax, ebx
xor eax, 0x7069d4f8
mov esi, ebx
xor esi, 0x809fd767
xor ebx, 0x931067
or ebx, eax
mov eax, ecx
and eax, 0x4011060
not ebx
add ebx, esi
mov esi, eax
not esi
lea eax, [eax + esi*2]
inc eax
and eax, ebx
xor eax, edi
not eax
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x18]
mov eax, 0xc0057619
sub eax, ebx
or eax, 1
lea edi, [ebx + eax]
add edi, 0x3ffa89e7
mov esi, edi
and esi, 2
mov eax, edi
or edi, 2
imul edi, esi
xor esi, 2
and eax, 0xfd
imul eax, esi
xor ebx, 1
add ebx, edi
add ebx, eax
add bl, 0xe6
mov byte [esp + ecx - 0x6493108f], bl
inc ecx
dec edx
cmp ecx, 0x649310f0
jne 0x40c860
push 0x800000
push 0
push 0
push 0
push dword [ebp + 0xc]
lea eax, [esp + 0x64]
push eax
mov ebx, dword [esp + 0x2c]
push ebx
call dword [esp + 0x24]
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446ec8]
xor edi, edi
mov dword [esp + 4], 0
mov esi, dword [esp + 0xc]
jmp dword [0x446f80]
movzx eax, byte [0x44c304]
jmp dword [0x446edc]
jmp dword [0x446eec]
mov esi, dword [esp + 0xc]
jmp dword [eax*4 + 0x446ef0]
mov dword [esp + 0x18], 0x5bcd599b
mov dword [esp + 0x1c], 0x47ad45d3
mov dword [esp + 0x20], 0x43af41a9
mov dword [esp + 0x24], 0x4f6e4d96
mov dword [esp + 0x28], 0x4bad49af
mov dword [esp + 0x2c], 0x77987597
mov dword [esp + 0x30], 0x73e77197
mov dword [esp + 0x34], 0x7f997de3
mov dword [esp + 0x38], 0x7be3799a
mov dword [esp + 0x3c], 0x67a365f4
mov word [esp + 0x40], 0x6160
mov dword [esp + 0x42], 0
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov eax, 0xe9d6c10c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x16293f0c]
xor ecx, eax
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
mov edx, ecx
not edx
and ecx, 0x819f8932
and edx, 0x7e6076cd
sub ecx, edx
mov edx, ecx
and edx, 0x1b20b8ab
add edx, edx
xor ecx, 0x64df4754
sub edx, ecx
mov ecx, edx
xor ecx, 0xcc
and edx, 0x4c
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0x16293f0c], cl
inc eax
cmp eax, 0xe9d6c13f
jne 0x40ca10
movzx eax, word [esp + 0x18]
test ax, ax
lea edx, [esp + 0x50]
je 0x40ca91
lea edx, [esp + 0x50]
lea ecx, [esp + 0x1a]
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ca80
mov word [edx], 0
movzx eax, word [0x44c306]
test ax, ax
je 0x40cac5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx + ecx], ax
movzx eax, word [ecx + 0x44c308]
add ecx, 2
test ax, ax
jne 0x40cab0
add edx, ecx
mov word [edx], 0
lea eax, [esp + 0x50]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [0x44c1e0]
mov dword [esp + 4], 0
mov ecx, dword [ebp + 0x10]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [ebp + 0x18]
push edx
push edx
push dword [ebp + 0x14]
push eax
push ecx
push edi
call dword [0x44c1e4]
xor ecx, ecx
test eax, eax
setne cl
mov eax, edi
xor edi, edi
jmp dword [ecx*4 + 0x446ef8]
push 0
push eax
mov edi, eax
call dword [0x44c1e8]
xor ecx, ecx
test eax, eax
mov eax, edi
setne cl
mov dword [esp + 4], 0
xor edi, edi
jmp dword [ecx*4 + 0x446f00]
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], 0
xor ebx, ebx
lea esi, [esp + 0x18]
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x14]
call dword [0x44c1ec]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446f18]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x446f20]
xor eax, eax
cmp dword [esp + 0x50], 0
setne al
jmp dword [eax*4 + 0x446f20]
mov eax, dword [esp + 0x50]
add eax, edi
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
push eax
mov dword [esp + 8], ebx
push ebx
call fcn.0043d810
add esp, 8
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
sete cl
mov eax, 1
mov ebx, dword [esp + 0x10]
jmp dword [ecx*4 + 0x446f28]
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
jmp dword [0x446f30]
mov dword [esp + 0x18], 0
mov eax, dword [esp + 8]
add eax, edi
push esi
push dword [esp + 0x54]
push eax
push ebx
call dword [0x44c1f0]
add edi, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], 0
mov eax, dword [esp + 8]
add eax, edi
push esi
push dword [esp + 0x54]
push eax
push ebx
call dword [0x44c1f0]
add edi, dword [esp + 0x18]
xor eax, eax
jmp dword [0x446f3c]
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x446f40]
mov eax, dword [case.0x40c7c3.38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp 0x40cb60
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446f68]
jmp dword [0x446f74]
mov byte [ebx + edi], 0
jmp dword [0x446f78]
mov byte [ebx + edi], 0
mov byte [ebx + edi], 0
jmp dword [0x446f78]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push eax
call dword [0x44c1f8]
jmp dword [0x446f80]
push ebx
call dword [0x44c1f8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call dword [0x44c1f8]
jmp dword [0x446f8c]
push esi
call dword [0x44c1f8]
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x446f90]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446f98]
push esi
call fcn.0043be60
add esp, 4
mov eax, dword [case.0x40c7c3.63]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [case.0x40c7c3.55]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446fd8]
xor eax, eax
cmp dword [ebp + 0x20], 0
setne al
jmp dword [eax*4 + 0x446fe0]
jmp dword [0x446ff0]
mov eax, dword [ebp + 0x20]
mov dword [eax], edi
test esi, esi
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov edi, dword [ebp + 0x1c]
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
push ebx
call dword [0x44c1e4]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447060]
mov eax, dword [esi + 0x3c]
mov dword [eax], 0
push eax
push edi
push dword [ebp + 0x18]
push ebx
call dword [0x44c1f4]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447068]
jmp dword [0x447074]
push 0
push ebx
call dword [0x44c1e8]
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push ebx
call dword [0x44c1e8]
jmp dword [0x447078]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447080]
jmp case.0x40c7c3.105
mov eax, dword [esi + 0x14]
mov byte [eax], 1
push ebx
call dword [0x44c1f8]
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
jmp case.0x40c7c3.91
push 0
push 0x1bb
push 0x44c200
mov edi, eax
push eax
call dword [0x44c1d0]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447020]
jmp 0x40cf4d
mov eax, dword [0x44c1d4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 0xbb09b906
mov dword [ecx + 4], 0xbf08bd0f
mov word [ecx + 8], 0xa1be
mov dword [ecx + 0xa], 0
mov word [ecx + 0xe], 0
mov eax, 0xcc21f6c7
mov edi, 8
movzx ebx, byte [ecx + eax + 0x33de0939]
mov dword [esi + 4], ebx
mov ecx, edi
and ecx, 0xf
mov edx, eax
and edx, 0x8800a6d0
or edx, ecx
xor edx, eax
xor edx, ebx
xor edx, 0x4421500f
and edx, eax
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov ecx, edx
and ecx, 0xcc21f6dd
imul ecx, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
add ecx, dword [esi + 4]
sub ecx, edx
add ecx, eax
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
add cl, 0x8f
mov edx, dword [esi + 0x1c]
mov byte [edx + eax + 0x33de0939], cl
mov ecx, dword [esi + 0x1c]
inc eax
dec edi
cmp edi, 0xfffffff8
jne 0x40ceb0
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
push 0x800000
push 0
push 0
push 0
push dword [esi + 0xc]
push ecx
push edi
call dword [esi + 0x10]
mov edx, dword [esi + 0x30]
mov dword [edx], eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447028]
push edi
call dword [0x44c1f8]
mov eax, dword [esi + 0x28]
mov edi, dword [eax]
push edi
call dword [0x44c1f8]
jmp case.0x40c7c3.87
mov ebx, eax
xor eax, eax
mov edi, dword [ebp + 0x20]
test edi, edi
setg al
jmp dword [eax*4 + 0x447030]
jmp dword [0x447038]
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1c], eax
mov esp, eax
push eax
sub esp, 0x1fc
mov dword [esi + 0x34], esp
sub esp, 0x38
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x38], eax
mov esp, eax
push eax
mov dword [esi + 0x3c], esp
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x14]
mov byte [eax], 0
mov eax, dword [0x44c1cc]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xdbadd98d
mov dword [eax + 4], 0xe78fe59e
mov dword [eax + 8], 0xe396e194
mov dword [eax + 0xc], 0xefd9ed8d
mov dword [eax + 0x10], 0xebdce9d5
mov dword [eax + 0x14], 0xf7d6f5c4
mov dword [eax + 0x18], 0xf3adf1d8
mov dword [eax + 0x1c], 0xff88fd95
mov dword [eax + 0x20], 0xfb8df994
mov dword [eax + 0x24], 0x775057b
mov dword [eax + 0x28], 0x3540120
mov dword [eax + 0x2c], 0xf2e0d50
mov dword [eax + 0x30], 0xb3a0939
mov dword [eax + 0x34], 0x17261522
mov dword [eax + 0x38], 0x1332112b
mov dword [eax + 0x3c], 0x1f771d43
mov dword [eax + 0x40], 0x1b24196e
mov dword [eax + 0x44], 0x271d2518
mov dword [eax + 0x48], 0x235a2100
mov dword [eax + 0x4c], 0x2f122d12
mov dword [eax + 0x50], 0x2b0a2901
mov dword [eax + 0x54], 0x37463575
mov dword [eax + 0x58], 0x33463140
mov dword [eax + 0x5c], 0x3f613d51
mov dword [eax + 0x60], 0x3b583955
mov dword [eax + 0x64], 0x472f450f
mov dword [eax + 0x68], 0x4375413c
mov dword [eax + 0x6c], 0x4f7d4d71
mov dword [eax + 0x70], 0x4b7c4977
mov dword [eax + 0x74], 0x57685567
mov dword [eax + 0x78], 0x537a5170
mov dword [eax + 0x7c], 0x5f165d17
mov dword [eax + 0x80], 0x5b0f5904
mov dword [eax + 0x84], 0x67526530
mov dword [eax + 0x88], 0x63166140
mov dword [eax + 0x8c], 0x6f056d05
mov dword [eax + 0x90], 0x6b4a6905
mov dword [eax + 0x94], 0x771b753b
mov dword [eax + 0x98], 0x73197113
mov dword [eax + 0x9c], 0x7f577d0b
mov dword [eax + 0xa0], 0x7b397958
mov dword [eax + 0xa4], 0x87f485ec
mov dword [eax + 0xa8], 0x83f781f7
mov dword [eax + 0xac], 0x8fb98de1
mov dword [eax + 0xb0], 0x8bbb89b9
mov dword [eax + 0xb4], 0x97a095ad
mov dword [eax + 0xb8], 0x93a491a0
mov dword [eax + 0xbc], 0x9fa89dac
mov dword [eax + 0xc0], 0x9bba99a8
mov dword [eax + 0xc4], 0xa7c7a5f7
mov dword [eax + 0xc8], 0xa3c3a1ce
mov dword [eax + 0xcc], 0xafc7adde
mov dword [eax + 0xd0], 0xab97a99f
mov dword [eax + 0xd4], 0xb789b587
mov dword [eax + 0xd8], 0xb381b186
mov dword [eax + 0xdc], 0xbfbebd82
mov byte [eax + 0xe2], 0
mov word [eax + 0xe0], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
mov dword [esi + 0xc], eax
not eax
or eax, 0xffffff5c
inc ecx
mov dword [esi + 0x10], ecx
mov edx, ecx
xor edx, eax
and eax, ecx
lea eax, [edx + eax*2]
mov edi, eax
not edi
mov ebx, edi
or ebx, 2
lea ecx, [ebx + eax]
inc ecx
add edx, edx
not edx
add edx, eax
and eax, 0xfffffffd
and edx, 2
imul edx, eax
xor eax, 0xfffffffd
and edi, 0xfffffffd
or edi, eax
mov eax, edi
not eax
mov ebx, ecx
or ebx, eax
mov dword [esi + 0x2c], ebx
mov ebx, ecx
and ebx, eax
imul ebx, dword [esi + 0x2c]
and edi, ecx
not ecx
and ecx, eax
imul ecx, edi
add edx, ecx
add edx, ebx
mov edi, dword [esi + 0xc]
mov eax, edi
xor eax, 0x621ee25c
mov ecx, edi
mov ebx, edi
xor ecx, eax
xor ecx, 0x9de11da3
and ecx, edx
xor ecx, eax
and eax, edx
lea eax, [ecx + eax*2]
mov edi, dword [esi + 4]
movzx ecx, byte [edi + ebx]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add eax, 0xaf8157e3
mov ecx, eax
xor ecx, 0x67
and eax, 0x18
add eax, eax
sub eax, ecx
mov byte [edi + ebx], al
mov ecx, dword [esi + 0x10]
mov eax, ecx
cmp ecx, 0xe3
jne 0x40d1a0
push 0
push 0
push 0
push 0
push dword [esi + 4]
call dword [esi + 0x20]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
jmp dword [0x447014]
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0x14]
mov byte [eax], 0
mov eax, dword [0x44c1cc]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xdbadd98d
mov dword [eax + 4], 0xe78fe59e
mov dword [eax + 8], 0xe396e194
mov dword [eax + 0xc], 0xefd9ed8d
mov dword [eax + 0x10], 0xebdce9d5
mov dword [eax + 0x14], 0xf7d6f5c4
mov dword [eax + 0x18], 0xf3adf1d8
mov dword [eax + 0x1c], 0xff88fd95
mov dword [eax + 0x20], 0xfb8df994
mov dword [eax + 0x24], 0x775057b
mov dword [eax + 0x28], 0x3540120
mov dword [eax + 0x2c], 0xf2e0d50
mov dword [eax + 0x30], 0xb3a0939
mov dword [eax + 0x34], 0x17261522
mov dword [eax + 0x38], 0x1332112b
mov dword [eax + 0x3c], 0x1f771d43
mov dword [eax + 0x40], 0x1b24196e
mov dword [eax + 0x44], 0x271d2518
mov dword [eax + 0x48], 0x235a2100
mov dword [eax + 0x4c], 0x2f122d12
mov dword [eax + 0x50], 0x2b0a2901
mov dword [eax + 0x54], 0x37463575
mov dword [eax + 0x58], 0x33463140
mov dword [eax + 0x5c], 0x3f613d51
mov dword [eax + 0x60], 0x3b583955
mov dword [eax + 0x64], 0x472f450f
mov dword [eax + 0x68], 0x4375413c
mov dword [eax + 0x6c], 0x4f7d4d71
mov dword [eax + 0x70], 0x4b7c4977
mov dword [eax + 0x74], 0x57685567
mov dword [eax + 0x78], 0x537a5170
mov dword [eax + 0x7c], 0x5f165d17
mov dword [eax + 0x80], 0x5b0f5904
mov dword [eax + 0x84], 0x67526530
mov dword [eax + 0x88], 0x63166140
mov dword [eax + 0x8c], 0x6f056d05
mov dword [eax + 0x90], 0x6b4a6905
mov dword [eax + 0x94], 0x771b753b
mov dword [eax + 0x98], 0x73197113
mov dword [eax + 0x9c], 0x7f577d0b
mov dword [eax + 0xa0], 0x7b397958
mov dword [eax + 0xa4], 0x87f485ec
mov dword [eax + 0xa8], 0x83f781f7
mov dword [eax + 0xac], 0x8fb98de1
mov dword [eax + 0xb0], 0x8bbb89b9
mov dword [eax + 0xb4], 0x97a095ad
mov dword [eax + 0xb8], 0x93a491a0
mov dword [eax + 0xbc], 0x9fa89dac
mov dword [eax + 0xc0], 0x9bba99a8
mov dword [eax + 0xc4], 0xa7c7a5f7
mov dword [eax + 0xc8], 0xa3c3a1ce
mov dword [eax + 0xcc], 0xafc7adde
mov dword [eax + 0xd0], 0xab97a99f
mov dword [eax + 0xd4], 0xb789b587
mov dword [eax + 0xd8], 0xb381b186
mov dword [eax + 0xdc], 0xbfbebd82
mov byte [eax + 0xe2], 0
mov word [eax + 0xe0], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
mov dword [esi + 0xc], eax
not eax
or eax, 0xffffff5c
inc ecx
mov dword [esi + 0x10], ecx
mov edi, ecx
xor edi, eax
and eax, ecx
lea ecx, [edi + eax*2]
mov eax, ecx
not eax
mov ebx, eax
or ebx, 2
lea edx, [ebx + ecx]
inc edx
add edi, edi
not edi
add edi, ecx
and ecx, 0xfffffffd
and edi, 2
imul edi, ecx
xor ecx, 0xfffffffd
and eax, 0xfffffffd
or eax, ecx
mov ecx, eax
not ecx
mov ebx, edx
or ebx, ecx
mov dword [esi + 0x2c], ebx
mov ebx, edx
and ebx, ecx
imul ebx, dword [esi + 0x2c]
and eax, edx
not edx
and edx, ecx
imul edx, eax
add edi, edx
add edi, ebx
mov edx, dword [esi + 0xc]
mov eax, edx
xor eax, 0x621ee25c
mov ecx, edx
mov ebx, edx
xor ecx, eax
xor ecx, 0x9de11da3
and ecx, edi
xor ecx, eax
and eax, edi
lea eax, [ecx + eax*2]
mov edi, dword [esi + 4]
movzx ecx, byte [edi + edx]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add eax, 0xaf8157e3
mov ecx, eax
xor ecx, 0x67
and eax, 0x18
add eax, eax
sub eax, ecx
mov byte [edi + ebx], al
mov ecx, dword [esi + 0x10]
mov eax, ecx
cmp ecx, 0xe3
jne 0x40d470
push 0
push 0
push 0
push 0
push dword [esi + 4]
call dword [esi + 0x20]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
jmp case.0x40c7c3.83
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447018]
mov eax, dword [esi + 0x14]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
push edi
push edi
push edi
push ebx
call dword [0x44c1dc]
push edi
push edi
push edi
push edi
push ebx
call dword [0x44c1dc]
jmp dword [0x447044]
jmp dword [0x447050]
movzx eax, byte [0x44c304]
jmp dword [eax*4 + 0x447058]
mov edi, dword [esi + 0x38]
mov dword [edi], 0x33c535eb
mov dword [edi + 4], 0xcfc531c3
mov dword [edi + 8], 0xcb37cd39
mov dword [edi + 0xc], 0xc7e8c90c
mov dword [edi + 0x10], 0xc325c527
mov dword [edi + 0x14], 0xdf3ac13f
mov dword [edi + 0x18], 0xdb2fdd3f
mov dword [edi + 0x1c], 0xd739d953
mov dword [edi + 0x20], 0xd353d528
mov dword [edi + 0x24], 0xef13d122
mov word [edi + 0x28], 0xedee
mov dword [edi + 0x2a], 0
mov dword [edi + 0x2e], 0
mov dword [edi + 0x32], 0
mov word [edi + 0x36], 0
xor eax, eax
nop
movzx ecx, byte [edi + eax]
lea edx, [eax - 0x4f53e407]
and edx, ecx
add ecx, eax
add ecx, 0xb0ac1bf9
add edx, edx
sub ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov edx, ecx
not edx
or edx, 0x2b4b3c30
lea edi, [edx + edx]
not edi
add edi, edx
or edi, ecx
and ecx, 0x30
not edx
lea ecx, [edx + ecx*2]
or edi, 0xcf
sub ecx, edi
mov edi, dword [esi + 0x38]
mov byte [edi + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x38
jb 0x40d600
movzx ecx, word [edi]
mov edx, dword [esi + 0x34]
mov eax, edx
test cx, cx
je 0x40d681
add edi, 2
mov eax, edx
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x40d670
mov word [eax], 0
movzx ecx, word [0x44c306]
test cx, cx
mov edi, dword [ebp + 0x1c]
je 0x40d6b8
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44c308]
add edx, 2
test cx, cx
jne 0x40d6a0
add eax, edx
mov edx, dword [esi + 0x34]
mov word [eax], 0
mov eax, dword [esi + 0x30]
mov ebx, dword [eax]
push 0x20000000
push 0xffffffffffffffff
push edx
push ebx
call dword [0x44c1e0]
jmp 0x40cdab
mov dword [eax], case.0x40c7c3.0
int 0xcc
inc eax
add byte [edx], bl
enter 0x40, 0x50
leave
inc eax
add byte [eax - 0x37], dh
inc eax
add byte [eax - 0x37], dh
inc eax
add byte [eax - 0x37], dh
inc eax
add byte [eax - 0x37], dh
inc eax
add byte [eax - 0x7fffbf37], al
leave
inc eax
add byte [eax - 0x7fffbf37], al
leave
inc eax
add byte [esi - 0x22ffbf37], al
retf 0x40