Function at 0x4040f9
Capabilities:
Resolve function by parsing pe exports

Disassembly:
add esp, 4
pop edi
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x368], edx
cmp dword [ebp - 0x368], 0
jne 0x403ddf
push eax
xor eax, 0x16358
pop eax
push esi
push esi
add esp, 4
xor esi, 0x3dd5
add esi, 0x16c47
and esi, 0xefb1
xor esi, 0x2f95
pop esi
push esi
push ebx
add esp, 4
add esi, 0x4663
pop esi
mov dword [ebp - 0x6c], 0
jmp 0x40416b
push ebx
push eax
add esp, 4
jmp 0x403dec
xor ebx, 0x102ec
sub ebx, 0xad4e
call 0x403e05
add byte [ecx], bh
dec ebp
dec eax
dec ebp
xor ecx, dword [esi + 0x41]
add esp, 4
pop ebx
push esi
and esi, 0x5aee
pop esi
mov eax, dword [ebp - 0x368]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1ec], edx
cmp dword [ebp - 0x1ec], 0
jne 0x403e6a
push esi
push ecx
add esp, 4
and esi, 0x4400
xor esi, 0x3d53
xor esi, 0x11682
add esi, 0x121e6
pop esi
push ecx
xor ecx, 0xcced
sub ecx, 0x14804
or ecx, 0x95e7
pop ecx
mov dword [ebp - 0x6c], 0
jmp 0x40416b
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0xc4], eax
push esi
and esi, 0x14862
pop esi
push edi
push esi
add esp, 4
and edi, 0x49d9
add edi, 0xb0ff
and edi, 0x78a2
or edi, 0x14627
pop edi
push ebx
push edx
add esp, 4
sub ebx, 0xc052
pop ebx
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1e4], eax
push edi
push ecx
add esp, 4
and edi, 0x112e3
pop edi
push eax
push ecx
add esp, 4
add eax, 0x844e
pop eax
push edx
xor edx, 0x1405c
add edx, 0xa589
or edx, 0x28ac
sub edx, 0x143b3
pop edx
xor ecx, ecx
mov word [ebp - 0x54], cx
xor edx, edx
mov word [ebp - 8], dx
push edx
and edx, 0x12850
and edx, 0x5a21
sub edx, 0x15ba9
pop edx
push edi
sub edi, 0x17ff9
or edi, 0x637b
call 0x403f2f
add byte [edx], bh
push eax
dec edx
cmp eax, 0x833d333e
les eax, [edi + ebx*2]
mov eax, dword [ebp - 0x1e4]
mov cx, word [eax]
mov word [ebp - 0x288], cx
mov edx, dword [ebp - 0x1e4]
add edx, 2
mov dword [ebp - 0x1e4], edx
mov ax, word [ebp - 0x288]
mov word [ebp - 0x54], ax
push ecx
sub ecx, 0x1184
call 0x403f74
add byte [edi + 0x503a494b], bh
inc edx
dec esi
xor eax, 0x4c48337
pop ecx
push ebx
and ebx, 0x18a5
jmp 0x403f88
sub ebx, 0x6702
pop ebx
mov ecx, dword [ebp - 0x1e8]
mov dx, word [ecx]
mov word [ebp - 0x28a], dx
mov eax, dword [ebp - 0x1e8]
add eax, 2
mov dword [ebp - 0x1e8], eax
mov cx, word [ebp - 0x28a]
mov word [ebp - 8], cx
push esi
and esi, 0x12c98
add esi, 0xb85c
sub esi, 0x239
pop esi
push esi
push esi
add esp, 4
xor esi, 0x10d2f
or esi, 0xed85
add esi, 0x3983
xor esi, 0x876e
pop esi
movzx edx, word [ebp - 8]
test edx, edx
jne 0x404008
movzx eax, word [ebp - 0x54]
movzx ecx, word [ebp - 8]
sub eax, ecx
mov dword [ebp - 0x370], eax
jmp 0x40408b
movzx edx, word [ebp - 0x54]
movzx eax, word [ebp - 8]
cmp edx, eax
je 0x403f01
movzx ecx, word [ebp - 0x54]
xor ecx, 0x20
movzx edx, word [ebp - 8]
cmp ecx, edx
je 0x403f01
push eax
or eax, 0x108b8
pop eax
push ebx
push esi
add esp, 4
and ebx, 0x34a1
xor ebx, 0x303a
call 0x404053
add byte [0x4547493a], dh
aas
dec ebx
aaa
dec esp
add esp, 4
or ebx, 0x15804
pop ebx
movzx eax, word [ebp - 0x54]
movzx ecx, word [ebp - 8]
cmp eax, ecx
jge 0x404075
mov dword [ebp - 0x36c], 0xffffffff
jmp 0x40407f
mov dword [ebp - 0x36c], 1
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], edx
cmp dword [ebp - 0x370], 0
jne 0x4040d4
push ebx
and ebx, 0xcb2d
sub ebx, 0x3aa6
xor ebx, 0xbac7
or ebx, 0xbd1a
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0x1ee7
xor ebx, 0x3a8f
and ebx, 0x136cd
pop ebx
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x6c], eax
jmp 0x40416b
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx]
mov dword [ebp - 0xc4], edx
push edi
sub edi, 0x10491
call 0x4040f9
add byte [ebx + 0x36], cl
dec edx
dec edi
xor al, byte [ebp + 0x4e]
inc edi
cmp byte [ebx + 0x9e804c4], al
add byte [eax], al
add byte [eax], al
dec ebp
cmp ecx, dword [ebp + 0x39]
dec ebx
inc esi
inc eax
cmp dword [ebx - 0x107efb3c], eax
scasb al, byte es:[edi]
adc al, 1
add byte [edi - 0x75], bl
test dword [edi + edi*8], edi
invalid
cmp dword [ebp - 0x6c], 0
jne 0x404e20
push edi
push ecx
add esp, 4
or edi, 0x28fd
sub edi, 0xb460
pop edi
push ebx
push ecx
add esp, 4
sub ebx, 0x1653e
jmp 0x404198
xor ebx, 0xbb99
pop ebx
push edi
or edi, 0x16091
pop edi
mov edx, 0x6b
mov word [ebp - 0x3bc], dx
mov eax, 0x65
mov word [ebp - 0x3ba], ax
mov ecx, 0x72
mov word [ebp - 0x3b8], cx
mov edx, 0x6e
mov word [ebp - 0x3b6], dx
mov eax, 0x65
mov word [ebp - 0x3b4], ax
mov ecx, 0x6c
mov word [ebp - 0x3b2], cx
mov edx, 0x33
mov word [ebp - 0x3b0], dx
mov eax, 0x32
mov word [ebp - 0x3ae], ax
mov ecx, 0x2e
mov word [ebp - 0x3ac], cx
mov edx, 0x64
mov word [ebp - 0x3aa], dx
mov eax, 0x6c
mov word [ebp - 0x3a8], ax
mov ecx, 0x6c
mov word [ebp - 0x3a6], cx
xor edx, edx
mov word [ebp - 0x3a4], dx
push edi
push ecx
add esp, 4
jmp 0x40424b
xor edi, 0x16928
jmp 0x404257
add edi, 0x8fd9
pop edi
push eax
add eax, 0xbea7
or eax, 0x7464
sub eax, 0x89c1
pop eax
mov byte [ebp - 0x154], 0x4c
mov byte [ebp - 0x153], 0x6f
mov byte [ebp - 0x152], 0x61
mov byte [ebp - 0x151], 0x64
mov byte [ebp - 0x150], 0x4c
mov byte [ebp - 0x14f], 0x69
mov byte [ebp - 0x14e], 0x62
mov byte [ebp - 0x14d], 0x72
mov byte [ebp - 0x14c], 0x61
mov byte [ebp - 0x14b], 0x72
mov byte [ebp - 0x14a], 0x79
mov byte [ebp - 0x149], 0x57
mov byte [ebp - 0x148], 0
push eax
push ecx
add esp, 4
call 0x4042e0
add byte [esi], dh
xor al, byte ss:[edx + 0x3e]
inc eax
inc ebx
add esp, 4
pop eax
push eax
push edx
add esp, 4
and eax, 0x15ed2
and eax, 0xaac8
jmp 0x4042fe
pop eax
push ecx
or ecx, 0x141a8
or ecx, 0x16319
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x11b32
xor edx, 0x10ae7
pop edx
push edi
push eax
add esp, 4
sub edi, 0x4841
xor edi, 0xbeec
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x484], eax
push edx
push ebx
add esp, 4
jmp 0x404348
pop edx
push ebx
push ebx
add esp, 4
xor ebx, 0x162c7
sub ebx, 0x16902
add ebx, 0xceb2
pop ebx
push ecx
or ecx, 0x15ec7
xor ecx, 0x10b7a
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push eax
push eax
add esp, 4
call 0x404391
add byte [edi + 0x47], cl
inc edi
dec edi
inc eax
add esp, 4
jmp 0x40439b
pop eax
push edx
or edx, 0xfcee
add edx, 0xd2ec
or edx, 0x40c8
pop edx
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x404406
push edx
push ebx
add esp, 4
sub edx, 0x1405b
and edx, 0x234b
and edx, 0x1c0f
pop edx
push edx
sub edx, 0x77c3
pop edx
push edi
push ebx
add esp, 4
add edi, 0x3ade
xor edi, 0xe199
pop edi
mov dword [ebp - 0x118], 0
jmp 0x40479b
push eax
call 0x404415
add byte [ecx + ecx*2], dh
cmp al, 0x46
inc edi
inc edi
cmp eax, 0x4c4834a
pop eax
push edi
and edi, 0xa1bd
jmp 0x404429
pop edi
push ebx
add ebx, 0xeba6
and ebx, 0x12479
pop ebx
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x404494
push eax
push edi
add esp, 4
xor eax, 0xe666
sub eax, 0x579d
sub eax, 0xaac4
pop eax
push ebx
or ebx, 0xbac1
add byte [eax], al
and ebx, 0x62e7
or ebx, 0x2f13
add ebx, 0x4825
pop ebx
mov dword [ebp - 0x118], 0
jmp 0x40479b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push edx
and edx, 0x9a03
xor edx, 0xcbd2
pop edx
push edx
push ecx
add esp, 4
add edx, 0xf99a
or edx, 0x182e
xor edx, 0x17afc
pop edx
push ecx
push edi
add esp, 4
add ecx, 0xffa7
pop ecx
lea edx, [ebp - 0x3bc]
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1f0], ecx
push ecx
call 0x4044fe
add byte [esi + 0x4c], cl
aaa
dec eax
aaa
inc ebp
inc esi
dec ecx
xor eax, dword [ebx + 0x4eb04c4]
dec esp
dec esi
dec esp
notrack call 0x404515
add byte [edx + 0x3d], al
inc ecx
inc ebp
inc ecx
dec eax
add esp, 4
sub ecx, 0xd277
pop ecx
xor edx, edx
mov word [ebp - 0x58], dx
xor eax, eax
mov word [ebp - 0xc], ax
push edx
push ecx
add esp, 4
and edx, 0x1178c
pop edx
push esi
push ebx
add esp, 4
and esi, 0x7b23
add esi, 0xa55
add esi, 0x44c9
pop esi
push ecx
and ecx, 0x160c2
add ecx, 0x567b
pop ecx
mov ecx, dword [ebp - 0x1f0]
mov dx, word [ecx]
mov word [ebp - 0x28c], dx
mov eax, dword [ebp - 0x1f0]
add eax, 2
mov dword [ebp - 0x1f0], eax
mov cx, word [ebp - 0x28c]
mov word [ebp - 0x58], cx
push ebx
push eax
add esp, 4
sub ebx, 0x10e4b
or ebx, 0xb681
call 0x4045a7
add byte [edx + 0x44], cl
inc ebx
cmp eax, 0x4738483d
aas
add esp, 4
sub ebx, 0x1591e
pop ebx
push edx
add edx, 0x4e
pop edx
mov edx, dword [ebp - 0x1f4]
mov ax, word [edx]
mov word [ebp - 0x28e], ax
mov ecx, dword [ebp - 0x1f4]
add ecx, 2
mov dword [ebp - 0x1f4], ecx
mov dx, word [ebp - 0x28e]
mov word [ebp - 0xc], dx
push edi
xor edi, 0xa8a4
add edi, 0x10e79
pop edi
push esi
push edi
add esp, 4
call 0x404603
add byte [eax*2 + 0x49404944], dh
xor al, 0x83
les eax, [ecx + eax*4]
out dx, al
mul dword [eax + 0x6eb0000]
inc esp
dec ebx
inc edx
push eax
inc ebp
xor eax, 0x45b70f5e
hlt
cmp dword [ebp - 0x118], 0
jne 0x4047e5
push eax
and eax, 0x5fd4
sub eax, 0x11108
pop eax
push eax
push edi
add esp, 4
add eax, 0x3e11
sub eax, 0x12c1
pop eax
push ebx
push edi
add esp, 4
add ebx, 0xf201
xor ebx, 0x344a
pop ebx
mov dword [ebp - 0x1b4], 0
jmp 0x4058e1
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x128], 0
push ecx
add ecx, 0xb179
or ecx, 0xf671
sub ecx, 0x898c
add ecx, 0x2a18
pop ecx
push eax
push ebx
add esp, 4
or eax, 0x87f8
xor eax, 0x6375
add eax, 0x15cdb
pop eax
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x380], edx
cmp dword [ebp - 0x380], 0
jne 0x404888
push edx
sub edx, 0x1621e
call 0x40485b
add byte [0x3d324c45], dh
dec esp
cmp eax, 0xc4833c40
add al, 0xe8
or al, byte [eax]
add byte [eax], al
add byte [edx + 0x34], al
xor ecx, dword [edx + 0x33]
inc ebp
cmp dword [edx], edi
dec ecx
add esp, 4
add edx, 0x63ab
pop edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x98], eax
jmp 0x404d77
mov ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x8c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x384], edx
jne 0x4048b0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x98], eax
jmp 0x404d77
push ecx
jmp 0x4048ba
jmp 0x4048c2
jmp 0x4048c9
add ecx, 0xebaa
pop ecx
push edi
push eax
add esp, 4
xor edi, 0x10a7c
or edi, 0x549d
pop edi
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x2b4], ecx
cmp dword [ebp - 0x2b4], 0
jne 0x404946
push edx
xor edx, 0x64f5
xor edx, 0x14177
and edx, 0x2c65
jmp 0x40491e
pop edx
push ecx
and ecx, 0x1af6
jmp 0x40492d
jmp 0x404934
pop ecx
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x98], edx
jmp 0x404d77
push edx
push edi
add esp, 4
call 0x404959
add byte [ebx], bh
cmp edi, dword [esi]
inc ebp
dec esi
push eax
inc edi
add esp, 4
and edx, 0xa438
jmp 0x404969
pop edx
push edi
xor edi, 0x2790
or edi, 0xba62
pop edi
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x11c], eax
jne 0x4049cf
push esi
xor esi, 0x136a0
xor esi, 0xddd
and esi, 0xb489
xor esi, 0x5ae1
pop esi
push ecx
push ebx
add esp, 4
or ecx, 0x1053
and ecx, 0x166b0
sub ecx, 0x42a3
pop ecx
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x98], ecx
jmp 0x404d77
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x48c], eax
push esi
and esi, 0x11e58
sub esi, 0x7e0
sub esi, 0xb1ae
xor esi, 0xb50a
pop esi
push edi
push edi
add esp, 4
sub edi, 0x116b3
or edi, 0x310c
sub edi, 0x895d
pop edi
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x8c]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x490], edx
push esi
and esi, 0x12b5e
call 0x404a3e
add byte [eax + 0x4a], dl
cmp al, 0x4e
cmp eax, 0x4c48343
add esi, 0xcbb2
pop esi
push eax
push esi
add esp, 4
add eax, 0x11956
pop eax
push edi
jmp 0x404a5c
pop edi
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x120], 0
jmp 0x404a8d
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [eax + 0x18]
jae 0x404d6b
push edx
xor edx, 0xd789
or edx, 0x142df
call 0x404abc
add byte [edx + 0x40], cl
cmp dword [0x83384049], edi
les eax, [ecx + eax*4]
ret 0x78fc
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0
je 0x404e20
push edx
sub edx, 0x12f47
or edx, 0x7133
pop edx
push ebx
push edx
add esp, 4
sub ebx, 0x3830
pop ebx
push ebx
push edi
add esp, 4
add ebx, 0x11cf7
pop ebx
push edi
push eax
add esp, 4
add edi, 0x417f
pop edi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x4a0], ecx
lea edx, [ebp - 0x2b0]
push edx
call dword [ebp - 0x4a0]
test eax, eax
jne 0x404e20
push esi
push ebx
add esp, 4
and esi, 0x1680a
and esi, 0xfe65
call 0x404dfd
add byte [esi], bh
dec edi
aas
cmp al, 0x3e
xor al, 0x4b
add esp, 4
jmp 0x404e08
pop esi
push ebx
or ebx, 0xa42c
pop ebx
mov dword [ebp - 0x1b4], 0
jmp 0x4058e1
push edi
xor edi, 0x12548
or edi, 0x59b8
pop edi
push ebx
push edx
add esp, 4
add ebx, 0x17cdc
sub ebx, 0x14ba4
call 0x404e4e
add byte [ebx], dh
dec ebx
cmp al, 0x3e
inc ebx
cmp eax, 0x834e4e45
les eax, [ebx + ebx*2]
push edx
call 0x404e62
add byte [ebp + 0x48], cl
xor al, 0x4a
cmp byte [ebp + 0x50], cl
cmp dword [ebx], edi
add esp, 4
and edx, 0x10ef9
or edx, 0x6717
xor edx, 0x39e9
pop edx
push edi
push ebx
add esp, 4
xor edi, 0x11adf
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x4a4], eax
push eax
push ebx
add esp, 4
add eax, 0xa323
pop eax
push eax
xor eax, 0x7bc4
pop eax
push esi
or esi, 0x7bc3
jmp 0x404eb3
xor esi, 0x8f89
pop esi
push ecx
and ecx, 0xec1b
pop ecx
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x3dc], edx
push edx
push esi
add esp, 4
sub edx, 0x14ca1
xor edx, 0x106a4
pop edx
push edx
push ebx
add esp, 4
add edx, 0xb4b6
or edx, 0x175ae
pop edx
push ebx
and ebx, 0xecf2
or ebx, 0x12126
pop ebx
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
jne 0x404f56
push ebx
push edi
add esp, 4
jmp 0x404f26
add ebx, 0x11c4c
pop ebx
push esi
sub esi, 0xfc1b
or esi, 0xf214
add esi, 0xc09f
jmp 0x404f49
pop esi
mov dword [ebp - 0x6c], 0
jmp 0x4052e2
push edx
push edx
add esp, 4
jmp 0x404f61
xor edx, 0x12280
and edx, 0x600a
xor edx, 0x2853
pop edx
push ecx
sub ecx, 0x17096
add ecx, 0x17956
sub ecx, 0x10464
pop ecx
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x404fe1
push edx
jmp 0x404faa
and edx, 0x3963
pop edx
push edi
push edi
add esp, 4
call 0x404fc5
add byte [edx + 0x3e], al
cmp eax, 0x36364736
cmp byte [ebx], bh
add esp, 4
sub edi, 0x12b4f
xor edi, 0xd3e8
pop edi
mov dword [ebp - 0x6c], 0
jmp 0x4052e2
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0xc8], ecx
push eax
push edx
add esp, 4
and eax, 0xc534
call 0x405006
add byte [esi], dh
cmp dword [eax + 0x4b], edx
inc ebp
dec edx
inc esp
cmp byte [ebx + 0x7e804c4], al
add byte [eax], al
add byte [eax], al
dec eax
cmp eax, 0x3d434e4f
add esp, 4
jmp 0x40501e
pop eax
lea edx, [ebp - 0x2b0]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x200], ecx
push edx
push edi
add esp, 4
sub edx, 0x92a4
pop edx
push ecx
and ecx, 0x3f61
add ecx, 0xd522
jmp 0x405058
call 0x405068
add byte [edi], bh
cmp edx, dword [eax + 0x48]
inc ecx
inc ebp
aas
xor ecx, dword ds:[edx - 0x7d]
les eax, [ecx + ebx*2]
xor edx, edx
mov word [ebp - 0x5c], dx
xor eax, eax
mov word [ebp - 0x10], ax
push ecx
push edx
add esp, 4
call 0x40508c
add byte [ebx + 0x3d], al
cmp ecx, dword [esi + 0x48]
inc esi
cmp eax, 0xc4834c47
add al, 0xeb
push es
dec ebp
aas
inc ebp
cmp ecx, dword [ecx + 0x4d]
add ecx, 0x15aac
pop ecx
push edx
push edi
add esp, 4
add edx, 0x51
pop edx
mov ecx, dword [ebp - 0x200]
mov dx, word [ecx]
mov word [ebp - 0x290], dx
mov eax, dword [ebp - 0x200]
add eax, 2
mov dword [ebp - 0x200], eax
mov cx, word [ebp - 0x290]
mov word [ebp - 0x5c], cx
push esi
push edi
add esp, 4
or esi, 0x4e2a
pop esi
push ecx
push edx
add esp, 4
xor ecx, 0x11ebb
pop ecx
push edx
push eax
add esp, 4
jmp 0x4050f9
add edx, 0x17517
sub edx, 0x15777
pop edx
mov edx, dword [ebp - 0x204]
mov ax, word [edx]
mov word [ebp - 0x292], ax
mov ecx, dword [ebp - 0x204]
add ecx, 2
mov dword [ebp - 0x204], ecx
mov dx, word [ebp - 0x292]
mov word [ebp - 0x10], dx
push ecx
push edi
add esp, 4
add ecx, 0x16de3
xor ecx, 0x2d03
sub ecx, 0xc0cb
pop ecx
push edi
xor edi, 0xd56
or edi, 0xc666
sub edi, 0x40c1
xor edi, 0x124e5
pop edi
movzx eax, word [ebp - 0x10]
test eax, eax
jne 0x40517f
movzx ecx, word [ebp - 0x5c]
movzx edx, word [ebp - 0x10]
sub ecx, edx
mov dword [ebp - 0x2c0], ecx
jmp 0x405202
movzx eax, word [ebp - 0x5c]
movzx ecx, word [ebp - 0x10]
cmp eax, ecx
je 0x405078
movzx edx, word [ebp - 0x5c]
xor edx, 0x20
movzx eax, word [ebp - 0x10]
cmp edx, eax
je 0x405078
push edx
push ebx
add esp, 4
add edx, 0xe34e
or edx, 0x7659
pop edx
push ebx
and ebx, 0x137ec
pop ebx
push esi
push eax
add esp, 4
add esi, 0x142e2
pop esi
push eax
push esi
add esp, 4
or eax, 0xa401
pop eax
movzx ecx, word [ebp - 0x5c]
movzx edx, word [ebp - 0x10]
cmp ecx, edx
jge 0x4051ec
mov dword [ebp - 0x2bc], 0xffffffff
jmp 0x4051f6
mov dword [ebp - 0x2bc], 1
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
jne 0x40524b
push edx
sub edx, 0x997
call 0x40521f
add byte [esi + 0x50], cl
dec edi
inc ebx
inc ecx
xor al, 0x3d
add esp, 4
pop edx
push eax
add eax, 0xf083
jmp 0x405231
jmp 0x405236
add eax, 0x33bc
pop eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x6c], ecx
jmp 0x4052e2
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
mov dword [ebp - 0xc8], eax
push edi
push esi
add esp, 4
sub edi, 0x11df
pop edi
push ecx
push esi
add esp, 4
or ecx, 0xba09
pop ecx
push ebx
sub ebx, 0x5bbd
sub ebx, 0xe9a7
or ebx, 0x651f
add ebx, 0x9fc3
pop ebx
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [ebp - 0x208]
je 0x4052a9
mov edx, dword [ebp - 0xc8]
cmp dword [edx + 0x30], 0
jne 0x404fed
push ebx
push esi
add esp, 4
xor ebx, 0x4458
and ebx, 0xcfbb
or ebx, 0x66f7
pop ebx
push esi
and esi, 0x1490b
or esi, 0x1795f
and esi, 0x14181
or esi, 0xa0c5
pop esi
mov dword [ebp - 0x6c], 0
push ebx
push esi
add esp, 4
or ebx, 0x1539d
pop ebx
push eax
push edx
add esp, 4
xor eax, 0x11b6b
and eax, 0xa2f5
pop eax
push ecx
xor ecx, 0x17c8b
and ecx, 0xfde0
xor ecx, 0x139d2
pop ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x88], ecx
push ecx
push edi
add esp, 4
jmp 0x40532d
and ecx, 0x14e76
pop ecx
push edi
push esi
add esp, 4
sub edi, 0x1365b
pop edi
push edi
push edi
add esp, 4
or edi, 0x16673
add edi, 0x14e5e
pop edi
mov dword [ebp - 0x138], 0
push ecx
sub ecx, 0x4690
add ecx, 0x5c19
or ecx, 0x1b51
or ecx, 0x1651d
pop ecx
push ebx
push edi
add esp, 4
and ebx, 0x661e
jmp 0x405387
sub ebx, 0x643f
pop ebx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x2c4], edx
cmp dword [ebp - 0x2c4], 0
jne 0x4053e6
push ecx
push eax
add esp, 4
sub ecx, 0x14873
and ecx, 0x16818
jmp 0x4053bd
pop ecx
push edi
push edi
add esp, 4
sub edi, 0x14993
xor edi, 0x815e
jmp 0x4053d4
pop edi
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x9c], eax
jmp 0x4058d5
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x88]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2c8], edx
jne 0x40540e
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x9c], eax
jmp 0x4058d5
push eax
add eax, 0x661c
or eax, 0x1347f
sub eax, 0x5eb4
pop eax
push eax
push esi
add esp, 4
xor eax, 0x6d65
or eax, 0x1055d
and eax, 0x14021
or eax, 0xd50f
pop eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x2cc], ecx
cmp dword [ebp - 0x2cc], 0
jne 0x4054a4
push edx
add edx, 0x16c13
jmp 0x405470
call 0x40547c
add byte [ecx + 0x3d], cl
cmp dh, byte [eax + edx*2]
add esp, 4
pop edx
push esi
call 0x40548f
add byte [ebp + 0x35], al
dec eax
inc ebx
dec esp
dec edx
cmp eax, 0x4c48340
pop esi
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], edx
jmp 0x4058d5
push edi
push ebx
add esp, 4
jmp 0x4054af
add edi, 0x92fa
add edi, 0x5341
add edi, 0x7c9
pop edi
push ebx
or ebx, 0x8ec4
add ebx, 0xab97
xor ebx, 0x320f
pop ebx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x12c], eax
jne 0x40552d
push ebx
add ebx, 0xdf47
and ebx, 0xf448
and ebx, 0x4274
xor ebx, 0x9861
pop ebx
push edi
push ecx
add esp, 4
add edi, 0x709a
pop edi
push edx
push edx
add esp, 4
or edx, 0x8489
pop edx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], ecx
jmp 0x4058d5
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x88]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x3e0], eax
push edx
call 0x40554f
add byte [eax + ecx*2], dh
cmp eax, dword [edx + 0x33]
cmp eax, 0x8104c483
loop 0x40556c
inc edi
add dword [eax], eax
jmp 0x40555d
jmp 0x405566
pop edx
push edi
jmp 0x40556d
cmp eax, 0xf7abef81
add byte [eax], al
sub edi, 0xf7ab
pop edi
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x88]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x3e4], edx
push edx
push edx
add esp, 4
and edx, 0xf6ef
xor edx, 0xade8
or edx, 0x7a81
sub edx, 0x11985
pop edx
push esi
xor esi, 0x9ab5
xor esi, 0x122bc
sub esi, 0x13da6
pop esi
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x88]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x130], 0
jmp 0x4055eb
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [eax + 0x18]
jae 0x4058c9
push ecx
call 0x40560f
add byte [ebx + 0x3f], al
dec esp
cmp al, 0x40
inc ebp
inc esp
cmp eax, dword [ebx - 0x167efb3c]
retf
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1b4], eax
lea ecx, [ebp - 0x1b0]
push ecx
mov edx, dword [ebp + 4]
push edx
push 6
call dword [ebp - 0x1b4]
test eax, eax
jne 0x40592f
push esi
sub esi, 0x3a42
add esi, 0xd023
add esi, 0x2a19
pop esi
push esi
push edi
add esp, 4
call 0x405920
add byte [esi], dh
inc ebp
dec edi
dec esp
inc eax
xor ecx, dword [esi + 0x3c]
add esp, 4
xor esi, 0xce5c
pop esi
jmp 0x4082fc
push edx
push edi
add esp, 4
and edx, 0x16455
xor edx, 0x149fc
and edx, 0x185fa
and edx, 0x26c6
pop edx
push eax
sub eax, 0xf30a
sub eax, 0x3e62
and eax, 0x111dc
pop eax
cmp dword [ebp - 0x1b0], 0
je 0x4082ed
push eax
push ecx
add esp, 4
xor eax, 0x10320
and eax, 0x166b7
sub eax, 0x1659c
call 0x405994
add byte [ebp + 0x46], cl
inc esi
inc edx
dec edi
dec eax
cmp byte [ebx], dh
inc ecx
add esp, 4
pop eax
push edx
and edx, 0x14950
pop edx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x210], eax
push ecx
push eax
add esp, 4
call 0x4059bd
add byte [edx + eax*2], bh
aas
inc esp
cmp al, byte [edi - 0x7d]
les eax, [ecx + eax*4]
sar dword [esi - 0x49], 0
add byte [ecx + 0x57], bl
push edi
add esp, 4
call 0x4059da
add byte [edx + 0x32], al
dec eax
inc esp
inc edx
aaa
inc esi
add esp, 4
pop edi
cmp dword [ebp - 0x210], 0
jne 0x405a1e
push ebx
push edi
add esp, 4
xor ebx, 0x9faa
jmp 0x4059fb
jmp 0x405a00
pop ebx
push edi
push ebx
add esp, 4
and edi, 0x14651
or edi, 0x2b00
or edi, 0x17ab6
pop edi
jmp 0x4082fc
push edx
push esi
add esp, 4
add edx, 0x1816f
pop edx
push eax
call 0x405a3a
add byte [ecx + 0x48], al
dec ebx
dec edx
cmp edi, dword ds:[eax]
inc esp
inc edi
add esp, 4
pop eax
push edi
call 0x405a4c
add byte [edx], bh
inc esi
cmp al, 0x47
inc edi
inc ebp
xor al, 0x83
les eax, [edi + ebx*2]
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x210]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2d0], edx
jne 0x405a9e
push esi
jmp 0x405a6f
jmp 0x405a78
and esi, 0xc2c0
and esi, 0x8d95
pop esi
push esi
xor esi, 0xc2e3
add esi, 0x7758
xor esi, 0x15c21
pop esi
jmp 0x4082fc
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x3f0], ecx
push edx
or edx, 0x15965
pop edx
push esi
sub esi, 0x156cf
pop esi
push edx
push eax
add esp, 4
call 0x405ad0
add byte [edx], bh
cmp dword [ebx + esi], edi
inc esp
xor ecx, dword ss:[eax - 0x7d]
les eax, [ecx + eax*4]
ret 0xc2
jmp 0x4082fc