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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x190
mov edi, dword [0x454ec4]
mov dword [esp], 0xd7d6c1c8
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 3
ja 0x40eb99
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.004112c0
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 4
jb 0x40eb70
mov ebx, dword [esp]
mov dword [esp + 0x10], 0x1ed07fd
mov dword [esp + 0x14], 0xdea03f6
mov dword [esp + 0x18], 0x9f20ff0
mov dword [esp + 0x1c], 0x153c0bf8
mov dword [esp + 0x20], 0x11e217f8
mov dword [esp + 0x24], 0x1d1213e4
mov word [esp + 0x28], 0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x19
ja 0x40ec2a
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x110]
movzx eax, byte [esp + eax + 0x10]
push dword [esp + 0x110]
push eax
call fcn.00411240
add esp, 8
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x110]
mov eax, dword [esp + 0x110]
cmp eax, 0x1a
jb 0x40ebf0
lea esi, [esp + 0x10]
push ebx
push 0
push esi
call edi
mov ecx, 0x454e8c
push eax
call fcn.004451b0
movzx eax, al
jmp dword [eax*4 + 0x44f9e0]
xor eax, eax
jmp 0x40f56b
push 0xe2bceb04
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454e94], eax
push 0x248106fa
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454e98], eax
push 0x89b8457d
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454e9c], eax
push 0x44f824fb
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454ea0], eax
push 0xf072343c
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454ea4], eax
push 0x638f2392
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454ea8], eax
push 0xd711af57
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454eac], eax
push 0x1ad145e2
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454eb0], eax
push 0xedb83653
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454eb4], eax
push 0xe9e47300
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454eb8], eax
push 0x6b702a5b
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454ebc], eax
push 0xc135ffae
push dword [0x454e8c]
call fcn.00449290
add esp, 8
mov dword [0x454ec0], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
cmp ecx, 0x24
setne al
xor ebp, ebp
jmp dword [eax*4 + 0x44f9e8]
lea ebx, [esp + 0x110]
push ebx
push dword [ebp + 0x44da2c]
call fcn.004400c0
add esp, 8
lea edi, [esp + 0x10f]
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x40edb0
mov dword [esp], 0
mov eax, esi
cmp ebx, edi
jae 0x40ee1a
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x40ee10
mov eax, esp
push eax
push edi
push ebx
call fcn.004110d0
add esp, 0xc
movzx ecx, word [esp]
mov word [esp + esi + 0x10], cx
lea ecx, [esi + 2]
cmp esi, 0xfb
ja 0x40edfe
add ebx, eax
mov esi, ecx
cmp ebx, edi
jb 0x40edd0
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40ee16
lea eax, [esp + esi]
add eax, 0x10
lea esi, [esp + 0x10]
mov word [eax], 0
push esi
call fcn.0040f580
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44f9f0]
mov eax, dword [case.0x40ee2b.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, 1
jmp dword [eax*4 + 0x44fa08]
movzx ecx, word [esp + 0x10]
mov eax, 0x454ec8
test cx, cx
je 0x40ee81
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40ee70
mov word [eax], 0
xor eax, eax
mov cl, 1
mov dword [esp + 8], ecx
jmp dword [eax*4 + 0x44fa08]
add ebp, 4
mov eax, dword [case.0x40ee2b.10]
nop
nop
nop
jmp eax
xor eax, eax
cmp ebp, 0x24
setne al
jmp dword [eax*4 + 0x44f9e8]
mov eax, dword [esp + 8]
mov ebx, eax
and bl, 1
movzx eax, bl
jmp dword [eax*4 + 0x44fa20]
jmp dword [0x44fa2c]
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x23b621b8
mov dword [esp + 0x14], 0x27b625b0
mov dword [esp + 0x18], 0xdb10d94b
mov dword [esp + 0x1c], 0xdf01dd03
mov dword [esp + 0x20], 0xd346d143
mov dword [esp + 0x24], 0xd737d531
mov dword [esp + 0x28], 0xcb29c955
mov dword [esp + 0x2c], 0xcf53cd53
mov dword [esp + 0x30], 0xc357c15d
mov dword [esp + 0x34], 0xc75fc55a
mov dword [esp + 0x38], 0xfb73f96c
mov dword [esp + 0x3c], 0xff1dfd22
mov dword [esp + 0x40], 0xf36ff16f
mov dword [esp + 0x44], 0xf766f52b
mov dword [esp + 0x48], 0xeb75e97a
mov dword [esp + 0x4c], 0xef77ed0a
mov dword [esp + 0x50], 0xe307e17c
mov dword [esp + 0x54], 0xe739e577
mov dword [esp + 0x58], 0x9b4c994f
mov dword [esp + 0x5c], 0x9f489d49
mov dword [esp + 0x60], 0x93439141
mov dword [esp + 0x64], 0x975f955d
mov dword [esp + 0x68], 0x8b58895f
mov dword [esp + 0x6c], 0x8f5d8d58
mov dword [esp + 0x70], 0x83538153
mov dword [esp + 0x74], 0x8756854d
mov dword [esp + 0x78], 0xbbbab968
mov dword [esp + 0x7c], 0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x6f
ja 0x40f01a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x110]
movzx eax, byte [esp + eax + 0x10]
push dword [esp + 0x110]
push eax
call fcn.00411340
add esp, 8
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x110]
mov eax, dword [esp + 0x110]
cmp eax, 0x70
jb 0x40efe0
lea eax, [esp + 0xc]
lea ecx, [esp + 4]
lea edx, [esp + 0x10]
push eax
push ecx
push edx
call fcn.0040faf0
add esp, 0xc
jmp case.0x40ee2b.15
lea eax, [esp + 0xc]
lea ecx, [esp + 4]
lea edi, [esp + 0x10]
push eax
push ecx
push edi
call fcn.0040faf0
add esp, 0xc
jmp dword [0x44fa34]
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x23b621b8
mov dword [esp + 0x14], 0x27b625b0
mov dword [esp + 0x18], 0xdb10d94b
mov dword [esp + 0x1c], 0xdf01dd03
mov dword [esp + 0x20], 0xd346d143
mov dword [esp + 0x24], 0xd737d531
mov dword [esp + 0x28], 0xcb29c955
mov dword [esp + 0x2c], 0xcf53cd53
mov dword [esp + 0x30], 0xc357c15d
mov dword [esp + 0x34], 0xc75fc55a
mov dword [esp + 0x38], 0xfb73f96c
mov dword [esp + 0x3c], 0xff1dfd22
mov dword [esp + 0x40], 0xf36ff16f
mov dword [esp + 0x44], 0xf766f52b
mov dword [esp + 0x48], 0xeb75e97a
mov dword [esp + 0x4c], 0xef77ed0a
mov dword [esp + 0x50], 0xe307e17c
mov dword [esp + 0x54], 0xe739e577
mov dword [esp + 0x58], 0x9b4c994f
mov dword [esp + 0x5c], 0x9f489d49
mov dword [esp + 0x60], 0x93439141
mov dword [esp + 0x64], 0x975f955d
mov dword [esp + 0x68], 0x8b58895f
mov dword [esp + 0x6c], 0x8f5d8d58
mov dword [esp + 0x70], 0x83538153
mov dword [esp + 0x74], 0x8756854d
mov dword [esp + 0x78], 0xbbbab968
mov dword [esp + 0x7c], 0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x6f
ja 0x40f040
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x110]
movzx eax, byte [esp + eax + 0x10]
push dword [esp + 0x110]
push eax
call fcn.00411340
add esp, 8
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x110]
mov eax, dword [esp + 0x110]
cmp eax, 0x70
jb 0x40f170
jmp 0x40f040
jmp 0x40f566
movzx eax, al
jmp dword [eax*4 + 0x44fa38]
jmp 0x40f566
mov dword [esp + 0x10], 0x9eaeae64
mov dword [esp + 0x14], 0x8f855dae
mov dword [esp + 0x18], 0x7ab1b681
mov dword [esp + 0x1c], 0xbf8d8442
mov dword [esp + 0x20], 0x8c8288bd
mov dword [esp + 0x24], 0x848488bc
mov dword [esp + 0x28], 0xb4b78383
mov dword [esp + 0x2c], 0xbeb7b486
mov word [esp + 0x30], 0x5b7e
mov byte [esp + 0x32], 0x1e
mov dword [esp + 0x33], 0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x26
ja 0x40f26a
nop
nop
mov eax, dword [esp + 0x110]
movzx eax, byte [esp + eax + 0x10]
push dword [esp + 0x110]
push eax
call fcn.004113c0
add esp, 8
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x110]
mov eax, dword [esp + 0x110]
cmp eax, 0x27
jb 0x40f230
mov eax, dword [esp + 4]
movzx edx, byte [esp + 0x10]
test dl, dl
je 0x40f2a0
mov ecx, edi
mov esi, eax
jmp 0x40f287
movzx edx, byte [ecx]
test dl, dl
je 0x40f2a6
mov dh, byte [eax]
test dh, dh
je 0x40f2a4
inc eax
inc ecx
lea ebx, [esi + 1]
cmp dh, dl
je 0x40f29a
mov esi, ebx
mov eax, ebx
je 0x40f280
mov ecx, edi
jmp 0x40f280
mov esi, eax
jmp 0x40f2a6
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44fa40]
mov dword [esp + 0x10], 0xa3a1e6f4
mov dword [esp + 0x14], 0x2fe8bb8d
mov byte [esp + 0x18], 0
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 8
ja 0x40f31a
mov eax, dword [esp + 0x110]
movzx eax, byte [esp + eax + 0x10]
push dword [esp + 0x110]
push eax
call fcn.00411440
add esp, 8
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x110]
mov eax, dword [esp + 0x110]
cmp eax, 9
jb 0x40f2e0
movzx ebx, byte [esp + 0x10]
mov eax, esi
test bl, bl
je 0x40f362
lea ecx, [esp + 0x10]
mov edx, ecx
mov edi, esi
mov eax, esi
jmp 0x40f347
movzx ebx, byte [edx]
test bl, bl
je 0x40f362
mov bh, byte [edi]
test bh, bh
je 0x40f360
inc edi
inc edx
lea ebp, [eax + 1]
cmp bh, bl
je 0x40f35a
mov eax, ebp
mov edi, ebp
je 0x40f340
mov edx, ecx
jmp 0x40f340
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44fa48]
jmp dword [0x44fa50]
mov byte [eax], 0
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], 0
jmp dword [0x44fa58]
mov ecx, dword [case.0x40ee2b.30]
nop
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 0x23], 0
lea eax, [eax + 1]
jne 0x40f3a0
jmp ecx
xor ecx, ecx
xor edx, edx
cmp ecx, eax
setb dl
jmp dword [edx*4 + 0x44fa70]
movzx edx, byte [esi + ecx + 0x22]
movsx edi, dl
mov ebx, edx
add bl, 0x9f
cmp bl, 0x1a
mov ebx, 0
setb bl
jmp dword [ebx*4 + 0x44fa90]
mov edi, dword [case.0x40f4fc.262]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
jmp dword [0x44fab8]
movsx edx, di
add edx, 0xffffffae
imul edi, edx, 0x4ec5
mov ebx, edi
shr ebx, 0x1f
sar edi, 0x13
add edi, ebx
lea ebx, [edi + edi*4]
lea ebx, [ebx + ebx*4]
add ebx, edi
sub edx, ebx
mov edi, dword [case.0x40f4fc.265]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp edi
add dl, 0x61
jmp dword [0x44fab8]
mov byte [esp + ecx + 0x110], dl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esp + ecx + 0x110], dl
jmp dword [0x44fac4]
inc ecx
xor edx, edx
cmp ecx, eax
setb dl
jmp dword [edx*4 + 0x44fa70]
mov byte [esp + eax + 0x110], 0
lea edi, [esp + 0x10f]
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x40f480
mov dword [esp], 0
lea ecx, [esp + 0x10]
lea ebx, [esp + 0x110]
mov eax, ecx
cmp ebx, edi
jae 0x40f4eb
xor esi, esi
mov ebp, esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x40f4e1
push ebp
push edi
push ebx
call fcn.004110d0
add esp, 0xc
movzx ecx, word [esp]
mov word [esp + esi + 0x10], cx
lea ecx, [esi + 2]
cmp esi, 0x7b
ja 0x40f4d9
add ebx, eax
mov esi, ecx
cmp ebx, edi
jb 0x40f4b0
lea eax, [esp + ecx]
add eax, 0x10
jmp 0x40f4e7
lea eax, [esp + esi]
add eax, 0x10
lea ecx, [esp + 0x10]
mov word [eax], 0
push ecx
call fcn.0040f580
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44fa88]
jmp 0x40f53c
movzx ecx, word [esp + 0x10]
mov eax, 0x454ec8
test cx, cx
je 0x40f531
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40f520
mov word [eax], 0
mov al, 1
mov dword [esp + 8], eax
mov eax, dword [case.0x40ee2b.20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [esp + 4]
call fcn.004439e0
add esp, 4
mov eax, dword [esp + 8]
and al, 1
mov ebx, eax
test bl, bl
setne al
add esp, 0x190
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov edi, dword [0x454e94]
mov dword [esi + 0x5c], 0xf96bfbb7
mov dword [esi + 0x60], 0xfd61ff76
mov dword [esi + 0x64], 0xf16ef360
mov dword [esi + 0x68], 0xf527f757
mov dword [esi + 0x6c], 0xe938eb3f
mov dword [esi + 0x70], 0xed0eef38
mov dword [esi + 0x74], 0xe14be334
mov dword [esi + 0x78], 0xe574e77f
mov dword [esi + 0x7c], 0xd94bdb40
mov dword [esi + 0x80], 0xdd4bdf51
mov dword [esi + 0x84], 0xd160d33c
mov dword [esi + 0x88], 0xd536d764
mov dword [esi + 0x8c], 0xc91acb03
mov dword [esi + 0x90], 0xcd1ecf1a
mov dword [esi + 0x94], 0xc122c301
mov dword [esi + 0x98], 0xc559c769
mov dword [esi + 0x9c], 0xb970bb56
mov dword [esi + 0xa0], 0xbd73bf6c
mov dword [esi + 0xa4], 0xb13ab35c
mov dword [esi + 0xa8], 0xb562b77a
mov dword [esi + 0xac], 0xa94aab6b
mov dword [esi + 0xb0], 0xad3eaf6f
mov dword [esi + 0xb4], 0xa13ea33c
mov dword [esi + 0xb8], 0xa50fa73b
mov dword [esi + 0xbc], 0x993c9b3f
mov dword [esi + 0xc0], 0x9d019f25
mov dword [esi + 0xc4], 0x91439308
mov dword [esi + 0xc8], 0x9543975b
mov dword [esi + 0xcc], 0x89588b5d
mov dword [esi + 0xd0], 0x8d448f5d
mov dword [esi + 0xd4], 0x815a836c
mov dword [esi + 0xd8], 0x853e873d
mov dword [esi + 0xdc], 0x79c97b30
mov dword [esi + 0xe0], 0x7da27fc4
mov dword [esi + 0xe4], 0x71ee739c
mov dword [esi + 0xe8], 0x75eb77ef
mov dword [esi + 0xec], 0x698a6bef
mov dword [esi + 0xf0], 0x6df56fd1
mov dword [esi + 0xf4], 0x61ff63c9
mov dword [esi + 0xf8], 0x65b967f1
mov dword [esi + 0xfc], 0x599f5b84
mov dword [esi + 0x100], 0x5dc85fc0
mov dword [esi + 0x104], 0x51c153cd
mov dword [esi + 0x108], 0x558757cb
mov dword [esi + 0x10c], 0x499d4b83
mov dword [esi + 0x110], 0x4d9c4f87
mov dword [esi + 0x114], 0x4190439c
mov dword [esi + 0x118], 0x45944790
mov dword [esi + 0x11c], 0x39da3b94
mov dword [esi + 0x120], 0x3d993f8d
mov dword [esi + 0x124], 0x319533a6
mov dword [esi + 0x128], 0x35a937a6
mov dword [esi + 0x12c], 0x29e12be5
mov dword [esi + 0x130], 0x2de72ffd
mov dword [esi + 0x134], 0x21f723fe
mov dword [esi + 0x138], 0x252627ea
mov word [esi + 0x13c], 0
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0xe1
ja 0x40fe18
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xc]
movzx eax, byte [esi + eax + 0x5c]
push dword [esi + 0xc]
push eax
call fcn.00411dd0
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x5c], al
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
cmp eax, 0xe2
jb 0x40fdf0
lea eax, [esi + 0x5c]
push 0
push 0
push 0
push 0
push eax
call edi
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
mov dword [esi], 0
mov dword [esi + 8], 0
jmp dword [eax*4 + 0x44fae0]
mov eax, dword [esi + 0x34]
mov dword [esi], eax
lea ebx, [eax + eax]
lea eax, [eax*2 + 3]
and eax, 0xfffffffc
call fcn.0040c880
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0x18], ecx
mov edi, dword [esi + 0x30]
mov ecx, ebx
shr ecx, 2
and ebx, 0xfffffffc
lea edx, [eax + ebx]
mov dword [esi + 8], edx
add ebx, edi
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esi]
and ecx, 1
mov edi, dword [esi + 8]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x34]
mov word [eax + ecx*2], 0
movzx ecx, word [esi + 0x38]
push 0
push ecx
push eax
push edi
call dword [0x454e98]
xor ecx, ecx
mov dword [esi + 0x1c], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44fae8]
mov dword [esi + 8], 0
mov dword [esi], 0
mov ebx, dword [ebp + 0x10]
jmp dword [0x44fb70]
mov eax, dword [0x454e9c]
mov dword [esi], eax
xor eax, eax
cmp dword [esi + 0x2c], 2
sete al
jmp dword [eax*4 + 0x44faf0]
xor ebx, ebx
jmp dword [0x44faf8]
mov dword [esi + 0xc], 0x1f9e1918
mov word [esi + 0x10], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 5
ja 0x40ff36
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0xc]
push dword [esi + 0x5c]
push eax
call fcn.00411ed0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0xc], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 6
jb 0x40ff10
mov ebx, dword [esi + 0xc]
jmp dword [0x44faf8]
xor eax, eax
mov ebx, dword [ebp + 0x10]
jmp dword [eax*4 + 0x44fb60]
jmp dword [eax*4 + 0x44fb68]
mov dword [esi + 8], ecx
mov dword [esi], edx
lea eax, [esi + 0x5c]
push eax
push dword [esi + 0x14]
call dword [0x454eb4]
mov edx, dword [esi]
test eax, eax
setne al
mov edi, dword [esi + 0x5c]
test edi, edi
setne cl
and cl, al
movzx eax, cl
mov ecx, dword [esi + 8]
jmp dword [eax*4 + 0x44fb30]
jmp dword [0x44fb38]
lea eax, [edx + edi]
inc eax
push eax
push ecx
call fcn.00446100
mov ecx, dword [esi + 8]
mov edx, dword [esi]
add esp, 8
nop
nop
nop
nop
nop
lea eax, [edx + edi]
inc eax
push eax
push ecx
call fcn.00446100
mov ecx, dword [esi + 8]
mov edx, dword [esi]
add esp, 8
jmp dword [0x44fb40]
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x44fb48]
mov dword [esi + 0xc], 0
mov eax, ebx
add eax, edx
lea ecx, [esi + 0xc]
push ecx
push dword [esi + 0x5c]
push eax
push dword [esi + 0x14]
call dword [0x454eb8]
mov eax, dword [esi + 0xc]
jmp dword [0x44fb54]
nop
nop
jmp dword [0x44fb58]
mov edx, dword [esi]
add edx, eax
mov eax, 1
mov ecx, ebx
mov ebx, dword [ebp + 0x10]
jmp dword [eax*4 + 0x44fb60]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0x18]
jmp case.0x40fe3c.12
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x5c], 0x29e12bed
mov dword [esi + 0x60], 0x2d2e2fdc
mov byte [esi + 0x64], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 8
ja 0x410066
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
movzx eax, byte [esi + eax + 0x5c]
push dword [esi + 4]
push eax
call fcn.00411e40
add esp, 8
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x5c], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 9
jb 0x410040
push ebx
push 0
push 0
push 0
push edi
lea eax, [esi + 0x5c]
push eax
push dword [esi + 0x1c]
call dword [esi]
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x5c], 0x29e12bed
mov dword [esi + 0x60], 0x2d2e2fdc
mov byte [esi + 0x64], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 8
ja 0x4100c6
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
movzx eax, byte [esi + eax + 0x5c]
push dword [esi + 4]
push eax
call fcn.00411e40
add esp, 8
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0x5c], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 9
jb 0x4100a0
push ebx
push 0
push 0
push 0
push edi
lea eax, [esi + 0x5c]
push eax
push dword [esi + 0x1c]
call dword [esi]
jmp dword [0x44fb04]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44fb08]
mov dword [esi], 0
mov dword [esi + 8], 0
mov ebx, dword [ebp + 0x10]
mov edi, dword [esi + 0x18]
jmp 0x410160
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov dword [esi + 0x14], eax
call dword [0x454eac]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
mov dword [esi + 8], 0
mov ebx, dword [ebp + 0x10]
mov edi, dword [esi + 0x18]
jmp dword [ecx*4 + 0x44fb10]
push 0
push dword [esi + 0x14]
call dword [0x454eb0]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
mov dword [esi + 8], 0
jmp dword [ecx*4 + 0x44fb18]
mov dword [esi], edx
push dword [esi + 0x14]
call dword [0x454ec0]
push dword [esi + 0x1c]
call dword [0x454ec0]
jmp dword [0x44fb70]
push edi
call dword [0x454ec0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call dword [0x454ec0]
jmp dword [0x44fb7c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi]
mov dword [ebx], eax
test ecx, ecx
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x5c], 0
mov eax, dword [case.0x40fe3c.19]
xor edx, edx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
jmp eax
xor edi, edi
xor eax, eax
test esi, esi
setne al
xor ebp, ebp
jmp dword [eax*4 + 0x44fc20]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44fc28]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44fc30]
mov ebx, dword [esp + 0x44c]
mov edi, dword [0x454e98]
mov dword [esp + 4], 0xe3e2e0ab
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
cmp eax, 3
ja 0x41052b
mov eax, dword [esp + 0x38]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x38]
push eax
call fcn.004118f0
add esp, 8
mov ecx, dword [esp + 0x38]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, 4
jb case.default.0x410543
movzx eax, word [esp + 4]
push 0
push eax
push ebx
push dword [esp + 0x40]
call edi
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44fba8]
xor ebp, ebp
xor edi, edi
jmp 0x4108de
push edi
call fcn.004439e0
add esp, 4
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44fc30]
mov edi, dword [0x454e9c]
mov dword [esp + 4], 0x1f9e1918
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
cmp eax, 6
ja 0x4105cb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x38]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x38]
push eax
call fcn.00411a00
add esp, 8
mov ecx, dword [esp + 0x38]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, 7
jb 0x4105a0
mov ebx, dword [esp + 4]
mov dword [esp + 0x38], 0x33653160
mov dword [esp + 0x3c], 0x3f623d6f
mov word [esp + 0x40], 0x3938
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x410636
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x38]
push dword [esp]
push eax
call fcn.00411970
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x38], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x410610
push ebx
push 0
push 0
push 0
push dword [esp + 0x460]
push ebp
push esi
call edi
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44fbb0]
xor ebp, ebp
xor edi, edi
jmp 0x4108d7
mov edi, dword [esp + 0x45c]
mov edx, dword [esp + 0x458]
mov ecx, dword [esp + 0x454]
movzx eax, byte [0x454fcc]
jmp dword [eax*4 + 0x44fbb8]
mov dword [esp + 4], 0x996b9b51
mov dword [esp + 8], 0xa553a769
mov dword [esp + 0xc], 0xa149a353
mov dword [esp + 0x10], 0xad8eaf66
mov dword [esp + 0x14], 0xa94bab4d
mov dword [esp + 0x18], 0xb55cb745
mov dword [esp + 0x1c], 0xb141b355
mov dword [esp + 0x20], 0xbd5fbf49
mov dword [esp + 0x24], 0xb93dbb52
mov dword [esp + 0x28], 0x45854748
mov dword [esp + 0x2c], 0x4344
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
cmp eax, 0x2b
ja 0x41071b
nop
nop
nop
mov eax, dword [esp + 0x38]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x38]
push eax
call fcn.00411a80
add esp, 8
mov ecx, dword [esp + 0x38]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, 0x2c
jb 0x4106f0
movzx eax, word [esp + 4]
test ax, ax
je 0x410742
lea ebp, [esp + 0x38]
lea ecx, [esp + 6]
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410730
mov word [ebp], 0
movzx eax, word [0x454fce]
test ax, ax
je 0x410776
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x454fd0]
add ecx, 2
test ax, ax
jne 0x410760
add ebp, ecx
mov word [ebp], 0
lea eax, [esp + 0x38]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x454ea8]
mov ecx, dword [esp + 0x454]
mov edx, dword [esp + 0x458]
xor ebp, ebp
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
push edi
push edi
push edx
push eax
push ecx
push ebx
call dword [0x454eac]
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
jmp dword [ecx*4 + 0x44fbc0]
jmp dword [0x44fbcc]
mov dword [esi], edi
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44fc30]
mov dword [ebx], ebp
test edi, edi
setne al
add esp, 0x438
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 0
mov ecx, eax
add ecx, ebp
lea edx, [esp + 4]
push edx
push dword [esp + 0x3c]
push ecx
push ebx
mov edi, eax
call dword [0x454eb8]
add ebp, dword [esp + 4]
mov esi, dword [esp + 0x30]
xor eax, eax
jmp dword [eax*4 + 0x44fc00]
lea eax, [esp + 0x38]
push eax
push ebx
call dword [0x454eb4]
test eax, eax
setne cl
mov eax, dword [esp + 0x38]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x44fbe0]
lea esi, [eax + ebp]
inc esi
jmp dword [0x44fbec]
push esi
push edi
call fcn.00446100
add esp, 8
nop
nop
nop
nop
nop
nop
push esi
push edi
call fcn.00446100
add esp, 8
jmp dword [0x44fbf0]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44fbf8]
mov esi, dword [esp + 0x30]
mov eax, 1
jmp dword [eax*4 + 0x44fc00]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44fc08]
mov byte [edi + ebp], 0
jmp case.0x410651.4
push 0
push ebx
call dword [0x454eb0]
push 0
push ebx
call dword [0x454eb0]
jmp dword [0x44fbd4]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor edi, edi
mov dword [esp + 0x30], esi
jmp dword [ecx*4 + 0x44fbd8]
push ebx
call dword [0x454ec0]
push esi
call dword [0x454ec0]
mov ebx, dword [esp + 0x464]
push dword [esp + 0x34]
call dword [0x454ec0]
xor eax, eax
mov esi, dword [esp + 0x460]
test esi, esi
setne al
jmp dword [eax*4 + 0x44fc20]
mov dword [esp + 0x38], 0
xor ebp, ebp
xor edi, edi
jmp case.0x40fe3c.72
xor ebx, ebx
jmp 0x410c75
mov esi, dword [0x454e98]
mov dword [esp + 0x40], 0xc9caf409
mov dword [esp + 0x44], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 7
ja 0x410c3b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x40]
push dword [esp + 0xc]
push eax
call fcn.00411b60
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 8
jb 0x410c10
movzx eax, word [esp + 0x40]
push 0
push eax
push 0x454ec8
push edi
call esi
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44fc50]
xor ebx, ebx
jmp 0x411094
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 0x254]
jmp dword [0x44fc5c]
mov eax, ebx
add esp, 0x240
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, 1
mov dword [esp + 4], eax
jmp dword [0x44fcbc]
mov ebx, dword [0x454e9c]
mov dword [esp + 0xc], 0x17961918
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 6
ja 0x410ceb
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x40]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 0x40]
push eax
call fcn.00411c80
add esp, 8
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x40]
mov eax, dword [esp + 0x40]
cmp eax, 7
jb 0x410cc0
mov edi, dword [esp + 0xc]
mov dword [esp + 0x40], 0x4fbd49b8
mov dword [esp + 0x44], 0x43b64dbb
mov word [esp + 0x48], 0x4140
mov dword [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x410d46
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x40]
push dword [esp]
push eax
call fcn.00411bf0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x40], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x410d20
lea eax, [esp + 0x40]
push edi
push 0
push 0
push 0
push esi
push eax
push dword [esp + 0x20]
call ebx
mov ebx, dword [0x454e9c]
mov dword [esp + 0xc], 0x17961918
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 6
ja 0x410dbb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x40]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 0x40]
push eax
call fcn.00411c80
add esp, 8
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x40]
mov eax, dword [esp + 0x40]
cmp eax, 7
jb 0x410d90
mov edi, dword [esp + 0xc]
mov dword [esp + 0x40], 0x4fbd49b8
mov dword [esp + 0x44], 0x43b64dbb
mov word [esp + 0x48], 0x4140
mov dword [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x410e16
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x40]
push dword [esp]
push eax
call fcn.00411bf0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x40], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x410df0
push edi
push 0
push 0
push 0
push esi
push ebp
push dword [esp + 0x20]
call ebx
jmp dword [0x44fc64]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 4], 0
mov edi, dword [esp + 0x3c]
jmp dword [eax*4 + 0x44fc68]
xor eax, eax
mov esi, dword [esp + 0x26c]
test esi, esi
setg al
jmp dword [eax*4 + 0x44fc70]
jmp dword [0x44fc78]
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push esi
push dword [esp + 0x26c]
push ebx
call dword [0x454ebc]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
jmp dword [ecx*4 + 0x44fca8]
push 0
push ebx
call dword [0x454eb0]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
jmp dword [ecx*4 + 0x44fcb0]
jmp dword [0x44fcbc]
mov dword [esp + 4], 0
jmp dword [0x44fcbc]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44fca0]
mov dword [esp + 0xc], 0xb7258947
mov dword [esp + 0x10], 0xb325b527
mov dword [esp + 0x14], 0xbf53b159
mov dword [esp + 0x18], 0xbb9abd7a
mov dword [esp + 0x1c], 0xa745b95b
mov dword [esp + 0x20], 0xa348a54b
mov dword [esp + 0x24], 0xaf3ba143
mov dword [esp + 0x28], 0xab49ad37
mov dword [esp + 0x2c], 0x57cfa946
mov dword [esp + 0x30], 0x539755c4
mov dword [esp + 0x34], 0x5150
mov byte [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 0x2c
ja 0x410f7b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x40]
movzx eax, byte [esp + eax + 0xc]
push dword [esp + 0x40]
push eax
call fcn.00411cf0
add esp, 8
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0xc], al
inc dword [esp + 0x40]
mov eax, dword [esp + 0x40]
cmp eax, 0x2d
jb 0x410f50
movzx eax, word [esp + 0xc]
test ax, ax
je 0x410fa2
lea ebp, [esp + 0x40]
lea ecx, [esp + 0xe]
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410f90
mov word [ebp], 0
movzx eax, word [0x454fce]
test ax, ax
je 0x410fd6
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x454fd0]
add ecx, 2
test ax, ax
jne 0x410fc0
add ebp, ecx
mov word [ebp], 0
mov esi, dword [0x454ea8]
mov dword [esp + 0xc], 0x81e6e7e4
mov word [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x411026
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
push dword [esp]
push eax
call fcn.00411d60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x411000
lea eax, [esp + 0x40]
push dword [esp + 0xc]
push 0xffffffffffffffff
push eax
push ebx
call esi
xor eax, eax
mov edx, dword [esp + 0x258]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov esi, dword [esp + 0x26c]
push esi
push dword [esp + 0x268]
push dword [esp + 0x268]
push eax
push edx
push ebx
call dword [0x454eac]
mov ecx, dword [case.0x40fe3c.110]
nop
nop
nop
nop
nop
nop
jmp ecx
push ebx
call dword [0x454ec0]
push ebx
call dword [0x454ec0]
jmp dword [0x44fcc4]
push dword [esp + 8]
call dword [0x454ec0]
mov ebx, dword [esp + 4]
push edi
call dword [0x454ec0]
jmp 0x410c75
push esi
push esi
push esi
push esi
push ebx
call dword [0x454ea4]
push esi
push esi
push esi
push esi
push ebx
call dword [0x454ea4]
jmp dword [0x44fc84]
movzx eax, byte [0x454fcc]
jmp dword [eax*4 + 0x44fc88]
out dx, al
inc eax
add byte [eax - 0x12], dl
inc eax
add byte [eax - 0x12], al
inc eax
add byte [eax - 0x12], al
inc eax
add byte [eax - 0x12], al
inc eax
add byte [edx - 0x12], al
inc eax
add byte [ecx - 0x6affbf12], dh
out dx, al
inc eax
add byte [eax - 0x5fffbf12], ah
out dx, al
inc eax
add byte [edx - 0x5fffbf12], ah
out dx, al
inc eax
add ah, al
out dx, al
inc eax
add byte [edi - 0x35ffbf0f], ch
out dx, al
inc eax
add byte [ebp - 0x10], bl
inc eax
add byte [ebp - 0x10], bl
inc eax
add byte [ecx + esi*8 - 0xe41ffc0], dh
inc eax
add bl, al
int1
inc eax
add byte [edx - 0xb], dl
inc eax
add byte [edx + esi*8 - 0xaadffc0], dh
inc eax
add byte [eax - 0xd], dh
inc eax
add byte [eax + 0x760040f3], al
inc eax
add byte [ecx - 0x7fffbf0d], cl
inc eax
add byte [eax - 0x6fffbf0d], dl
inc eax
add byte [ebx + esi*8 - 0xc6fffc0], ch
inc eax
add byte [esp + esi*8 + 0x40], ch
add al, al
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0xb], dh
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ebx], al
cmc
inc eax
add byte [0xdf0040f5], al
inc eax
add byte [eax], al
hlt
add dword [ecx], eax
inc ebx
inc byte [eax]
mov esp, 0xd20040fe
inc byte [eax]
jmp 0xf1453bf3