Function at 0x10029cb8
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006cbea
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x240
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
and dword [ebp - 0x18], 0
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1002ade7
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x10c], eax
lea eax, [ebp + 8]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
movzx eax, byte [eax]
test eax, eax
je 0x1002ad97
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x10029d49
jmp 0x1002ae31
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0x4550
je 0x10029d68
jmp 0x1002ae31
push 8
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + eax + 0x78]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp dword [eax + 4], 0
jne 0x10029d86
jmp 0x1002ae31
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + 0x14]
mov ecx, dword [ebp - 0x48]
lea eax, [ecx + eax + 0x18]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
push 1
push 0x10b7
lea eax, [ebp - 0x48]
push eax
push 0x7b7e
push 0x6e1c
push 1
push 0x232b
lea eax, [ebp - 0xd8]
push eax
push 0x6e92
call fcn.100288a1
add esp, 0x2c
cmp dword [ebp - 0x28], 0
jne 0x10029de1
jmp 0x1002ae31
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
call fcn.10026459
push eax
call fcn.10055cbb
pop ecx
mov byte [ebp - 0x98], 3
mov byte [ebp - 0x97], 0xfe
mov byte [ebp - 0x96], 2
mov byte [ebp - 0x95], 0
mov byte [ebp - 0x94], 8
mov byte [ebp - 0x93], 7
mov byte [ebp - 0x92], 6
mov byte [ebp - 0x91], 1
mov byte [ebp - 0x90], 2
mov byte [ebp - 0x8f], 0xce
mov byte [ebp - 0x8e], 0x2f
mov byte [ebp - 0x8d], 1
mov byte [ebp - 0x8c], 4
mov byte [ebp - 0x8b], 9
mov byte [ebp - 0x8a], 5
mov byte [ebp - 0x89], 7
mov byte [ebp - 0x88], 6
mov byte [ebp - 0x87], 0
mov byte [ebp - 0x86], 7
mov byte [ebp - 0x85], 4
mov byte [ebp - 0x84], 9
mov byte [ebp - 0x83], 5
mov byte [ebp - 0x82], 9
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x98]
and eax, 0xc9
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x98]
or ecx, 0xc9
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x98]
mov byte [ebp + eax - 0x108], cl
mov dword [ebp - 0x30], 2
and dword [ebp - 0xb4], 0
jmp 0x10029ef4
mov eax, dword [ebp - 0x30]
inc eax
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x17
jae 0x10029fdb
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x98]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x30], eax
jne 0x10029f3e
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x98]
inc eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x98]
mov ecx, dword [ebp - 0x30]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x30], eax
jmp 0x10029eec
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0xb4]
movzx eax, byte [ebp + eax - 0x9a]
movsx eax, byte [ebp + eax - 0x108]
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x97]
and ecx, eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0xb4]
movzx eax, byte [ebp + eax - 0x9a]
movsx eax, byte [ebp + eax - 0x108]
mov edx, dword [ebp - 0x30]
movzx edx, byte [ebp + edx - 0x97]
or edx, eax
sub edx, ecx
mov eax, dword [ebp - 0x30]
movzx eax, byte [ebp + eax - 0x98]
mov byte [ebp + eax - 0x108], dl
push 0x44ef
push 0x308b
push 1
push 0x535
push 1
push 0x5be8
push 1
push 0x6d30
lea eax, [ebp - 0xb4]
push eax
push 0x40f4
push 0x58b3
call fcn.10028a48
add esp, 0x2c
jmp 0x10029eec
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0x108], 0
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x208]
call fcn.1002b2ef
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x13c], eax
and dword [ebp - 4], 0
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x13c]
call fcn.1002641e
pop ecx
mov dword [ebp - 0x114], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x208]
call fcn.1002b35a
and dword [ebp - 0xbc], 0
jmp 0x1002a04c
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0xb
jae 0x1002a065
mov eax, dword [ebp - 0xbc]
mov byte [ebp + eax - 0x108], 0
jmp 0x1002a03f
mov byte [ebp - 0x6c], 5
mov byte [ebp - 0x6b], 0xbe
mov byte [ebp - 0x6a], 1
mov byte [ebp - 0x69], 7
mov byte [ebp - 0x68], 6
mov byte [ebp - 0x67], 0xf
mov byte [ebp - 0x66], 7
mov byte [ebp - 0x65], 0xf
mov byte [ebp - 0x64], 0
mov byte [ebp - 0x63], 7
mov byte [ebp - 0x62], 3
mov byte [ebp - 0x61], 3
mov byte [ebp - 0x60], 2
mov byte [ebp - 0x5f], 0x33
mov byte [ebp - 0x5e], 0x90
mov byte [ebp - 0x5d], 4
mov byte [ebp - 0x5c], 6
mov byte [ebp - 0x5b], 9
mov byte [ebp - 0x5a], 4
mov byte [ebp - 0x59], 8
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x57], 2
mov byte [ebp - 0x56], 7
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x6c]
and eax, 0x8f
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x6c]
or ecx, 0x8f
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x6c]
mov byte [ebp + eax - 0xfc], cl
mov dword [ebp - 0x24], 2
and dword [ebp - 0x78], 0
jmp 0x1002a10b
mov eax, dword [ebp - 0x24]
inc eax
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x17
jae 0x1002a1de
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x6c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x24], eax
jne 0x1002a149
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x6c]
inc eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x6c]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x24], eax
jmp 0x1002a103
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x78]
movzx eax, byte [ebp + eax - 0x6e]
movsx eax, byte [ebp + eax - 0xfc]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x6b]
and ecx, eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x78]
movzx eax, byte [ebp + eax - 0x6e]
movsx eax, byte [ebp + eax - 0xfc]
mov edx, dword [ebp - 0x24]
movzx edx, byte [ebp + edx - 0x6b]
and edx, eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x78]
movzx eax, byte [ebp + eax - 0x6e]
movsx eax, byte [ebp + eax - 0xfc]
mov esi, dword [ebp - 0x24]
movzx ebx, byte [ebp + esi - 0x6b]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x6c]
mov byte [ebp + eax - 0xfc], bl
push 0x2693
push 0x2fb4
push 0
push 1
push 0x6f94
push 0x5a28
push 0
lea eax, [ebp - 0x78]
push eax
call fcn.10029aaa
add esp, 0x20
jmp 0x1002a103
xor eax, eax
inc eax
imul eax, eax, 0xa
mov byte [ebp + eax - 0xfc], 0
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.1002b2ef
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 1
push 0xa
xor edx, edx
mov ecx, dword [ebp - 0x14c]
call fcn.1002641e
pop ecx
mov dword [ebp - 0x154], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.1002b35a
and dword [ebp - 0xc4], 0
jmp 0x1002a252
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0xb
jae 0x1002a26b
mov eax, dword [ebp - 0xc4]
mov byte [ebp + eax - 0xfc], 0
jmp 0x1002a245
push dword [ebp - 0x154]
push dword [ebp - 0x114]
call fcn.100275f9
pop ecx
pop ecx
mov dword [ebp - 0xd0], eax
push 1
push 0x2dbd
push 0x50a8
push 0
push 0x5fbb
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10027b28
add esp, 0x1c
push 0x7ea6
push 1
push 0x296
lea eax, [ebp - 0xd0]
push eax
push 0x1497
lea eax, [ebp - 0x1c]
push eax
push 0x2fda
push 1
push 0x6608
call fcn.10028b94
add esp, 0x24
and dword [ebp - 0x74], 0
lea eax, [ebp - 0x1c]
push eax
push 0x4f3b
push 0x739d
push 0x249e
push 1
push 0x3c28
push 0
lea eax, [ebp - 0x74]
push eax
call fcn.100294bb
add esp, 0x20
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x14]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x4c], eax
and dword [ebp - 0xb8], 0
jmp 0x1002a331
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x4c]
jge 0x1002a3fd
push 0x5d41
push 0x6976
lea eax, [ebp - 0x28]
push eax
push 0x69a7
lea eax, [ebp - 0x1c]
push eax
push 0x3e14
lea eax, [ebp - 0xd8]
push eax
push 0x68d2
push 0x12c4
lea eax, [ebp - 0x178]
push eax
push 1
lea eax, [ebp - 0xb8]
push eax
push 0x55d0
lea eax, [ebp - 0x2c]
push eax
push 1
push 0x1dd6
push 0xb2a
push 1
push 0x1f01
call fcn.10028e7f
add esp, 0x4c
push 0
push 0x3f91
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x268c
push 0x64dd
push 0x680e
lea eax, [ebp - 0x28]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
call fcn.1002927a
add esp, 0x28
push 0x5cd
push 1
push 0x3293
push 0
push 0x3118
push 0x382b
lea eax, [ebp - 0x14]
push eax
call fcn.1002787a
add esp, 0x1c
jmp 0x1002a324
lea eax, [ebp - 0x1c]
push eax
push 0x4c85
push 0x4826
lea eax, [ebp - 0x74]
push eax
push 1
push 0x1d1d
push 0x682c
push 0
call fcn.10029cb8
add esp, 0x20
lea eax, [ebp - 0x1c]
push eax
push 0x4adb
push 0xcd3
push 0x4d1
push 0x251f
push 0x3327
push 0x512e
push 0x2eff
lea eax, [ebp - 0x74]
push eax
push 0xf1a
push 1
push 0xe5e
push 0x3f9a
push 0x470e
push 0
push 0x701e
push 0x49a0
push 1
lea eax, [ebp - 0x4c]
push eax
call fcn.10028e7f
add esp, 0x4c
push 1
push 0x4472
lea eax, [ebp - 0x2c]
push eax
push 0
lea eax, [ebp - 0x28]
push eax
push 0x6823
push 0x7a5b
lea eax, [ebp - 0x4c]
push eax
push 0x66f2
push 0x64e7
lea eax, [ebp - 0x14]
push eax
call fcn.1002963a
add esp, 0x2c
mov eax, dword [ebp - 0x4c]
shl eax, 2
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x20], ecx
push 1
push 0x7506
push 0x5c64
push 0x16ae
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x74]
push eax
push 0x5b47
push 0x4f1f
push 1
push 0x7342
call fcn.1002927a
add esp, 0x28
and dword [ebp - 0xb0], 0
jmp 0x1002a50e
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0x4c]
jge 0x1002a6ec
mov dword [ebp - 0xf0], 0x22cb
mov dword [ebp - 0x11c], 0x10008670
cmp dword [ebp - 0xf0], 0x2426
jle 0x1002a625
and dword [ebp - 0xac], 0
jmp 0x1002a557
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x4931
jge 0x1002a625
and dword [ebp - 0xa4], 0
jmp 0x1002a57d
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x6890
jge 0x1002a620
and dword [ebp - 0x9c], 0
jmp 0x1002a5a3
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x4773
jge 0x1002a61b
and dword [ebp - 0xa8], 0
jmp 0x1002a5c5
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x3cf9
jge 0x1002a616
mov eax, dword [ebp - 0xa4]
cdq
idiv dword [ebp - 0x9c]
mov eax, edx
cdq
idiv dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
mov ecx, edx
shl eax, cl
cdq
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], edx
push dword [ebp - 0x128]
push dword [ebp - 0x12c]
mov ecx, 0x10615658
call fcn.1002377f
jmp 0x1002a5b8
jmp 0x1002a596
jmp 0x1002a570
jmp 0x1002a54a
push 1
push 0x1a74
push 0x3a9
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x2ad0
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x70d9
push 0x4b09
lea eax, [ebp - 0x1c]
push eax
push 0x74d7
push 1
call fcn.10029398
add esp, 0x34
mov dword [ebp - 4], 2
cmp dword [ebp - 0xf0], 0x2107
jge 0x1002a689
mov edx, dword [ebp - 0x11c]
mov ecx, 0x10615658
call fcn.10025485
jmp 0x1002a6a5
or dword [ebp - 4], 0xffffffff
jmp 0x1002a6af
push 0x4e38
push 0x8da
push 1
push 0x5fdc
push 0x59c4
push 0x49d8
push 0x17e0
push 0
lea eax, [ebp - 0x14]
push eax
push 0x455d
push 0x6cd2
call fcn.100288a1
add esp, 0x2c
jmp 0x1002a501
push 0xa68
lea eax, [ebp - 0x4c]
push eax
push 1
push 0x5d34
push 1
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x14]
push eax
push 0x3bd5
push 0x914
push 0x7888
call fcn.10028a48
add esp, 0x2c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.1002b2ef
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x1c0]
call fcn.1002b393
mov dword [ebp - 0xcc], eax
push dword [ebp - 0xcc]
mov eax, dword [ebp - 0xcc]
shr eax, 1
push eax
call fcn.100275f9
pop ecx
pop ecx
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x44], 3
mov byte [ebp - 0x43], 0x68
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x41], 0x42
mov byte [ebp - 0x40], 1
mov byte [ebp - 0x3f], 0x4a
mov byte [ebp - 0x3e], 2
mov byte [ebp - 0x3d], 8
mov byte [ebp - 0x3c], 4
mov byte [ebp - 0x3b], 0x6d
mov byte [ebp - 0x3a], 0x74
mov byte [ebp - 0x39], 0xa4
mov byte [ebp - 0x38], 0x5d
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x44]
and eax, 4
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x44]
or ecx, 4
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x44]
mov byte [ebp + eax - 0x54], cl
mov dword [ebp - 0x20], 2
and dword [ebp - 0x7c], 0
jmp 0x1002a7de
mov eax, dword [ebp - 0x20]
inc eax
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xd
jae 0x1002a8a3
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x44]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x20], eax
jne 0x1002a81c
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x44]
inc eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x44]
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x20], eax
jmp 0x1002a7d6
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x7c]
movzx eax, byte [ebp + eax - 0x46]
movsx eax, byte [ebp + eax - 0x54]
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x43]
and ecx, eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x7c]
movzx eax, byte [ebp + eax - 0x46]
movsx eax, byte [ebp + eax - 0x54]
mov edx, dword [ebp - 0x20]
movzx edx, byte [ebp + edx - 0x43]
and edx, eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x7c]
movzx eax, byte [ebp + eax - 0x46]
movsx eax, byte [ebp + eax - 0x54]
mov esi, dword [ebp - 0x20]
movzx ebx, byte [ebp + esi - 0x43]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebp + eax - 0x44]
mov byte [ebp + eax - 0x54], bl
push 1
lea eax, [ebp - 0x7c]
push eax
push 0x7ae3
push 1
push 0x573b
push 0x7285
push 0x78d5
call fcn.10027b28
add esp, 0x1c
jmp 0x1002a7d6
xor eax, eax
inc eax
shl eax, 2
mov byte [ebp + eax - 0x54], 0
cmp dword [ebp - 0x80], 4
jle 0x1002a965
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x250]
call fcn.1002b2ef
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x164], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x18]
or eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x80]
sub eax, 4
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.10027658
pop ecx
pop ecx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x130], eax
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x18]
or eax, 2
mov dword [ebp - 0x18], eax
push dword [ebp - 0x164]
mov edx, dword [ebp - 0x130]
lea ecx, [ebp - 0x1f0]
call fcn.1002da34
pop ecx
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x138], eax
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x18]
or eax, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0xd4], eax
jmp 0x1002a991
push dword [ebp - 0x80]
lea eax, [ebp - 0x238]
push eax
call fcn.10027658
pop ecx
pop ecx
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x18]
or eax, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x140], eax
push dword [ebp - 0x140]
lea ecx, [ebp - 0x1a8]
call fcn.1002b312
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x18]
and eax, 8
je 0x1002a9cc
and dword [ebp - 0x18], 0xfffffff7
lea ecx, [ebp - 0x238]
call fcn.1002b35a
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x18]
and eax, 4
je 0x1002a9e7
and dword [ebp - 0x18], 0xfffffffb
lea ecx, [ebp - 0x1f0]
call fcn.1002b35a
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x18]
and eax, 2
je 0x1002aa02
and dword [ebp - 0x18], 0xfffffffd
lea ecx, [ebp - 0x220]
call fcn.1002b35a
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x18]
and eax, 1
je 0x1002aa1d
and dword [ebp - 0x18], 0xfffffffe
lea ecx, [ebp - 0x250]
call fcn.1002b35a
and dword [ebp - 0xc0], 0
jmp 0x1002aa33
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 5
jae 0x1002aa49
mov eax, dword [ebp - 0xc0]
mov byte [ebp + eax - 0x54], 0
jmp 0x1002aa26
lea eax, [ebp - 0x1c]
push eax
push 0x4845
push 0
push 1
lea eax, [ebp - 0x14]
push eax
push 0x204b
push 1
push 0x7174
call fcn.10029aaa
add esp, 0x20
push 0
push dword [ebp - 0x80]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add ecx, dword [eax + 0xc]
add ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x1a8]
call fcn.1002b397
lea eax, [ebp - 0x80]
push eax
push 0
push 0x2df9
push 0x5f13
lea eax, [ebp - 0x14]
push eax
push 0x4718
push 0x3e2e
push 1
push 0x36d5
call fcn.10028b94
add esp, 0x24
lea eax, [ebp - 0x14]
push eax
push 0
push 0x34a1
lea eax, [ebp - 0x2c]
push eax
push 0x3caf
lea eax, [ebp - 0x28]
push eax
push 1
push 0x600
push 0x78ab
push 0x48cc
call fcn.10027bbd
add esp, 0x28
push 1
push 0x79e3
push 0x16ff
push 1
push 0x722a
push 0x83a
push 0x61e
push 0x1572
push 0x58aa
lea eax, [ebp - 0x14]
push eax
push 0x32e7
call fcn.1002963a
add esp, 0x2c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x18], 0
jbe 0x1002ab7f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
div dword [ecx + 0x18]
cmp eax, 0xc
jbe 0x1002ab53
mov dword [ebp - 0xec], 0xc
jmp 0x1002ab71
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
div dword [ecx + 0x18]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xdc], eax
jmp 0x1002ab86
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
and dword [ebp - 0xa0], 0
jmp 0x1002aba8
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xa0]
cmp ecx, dword [eax + 0x18]
jae 0x1002ace5
push dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.100275f9
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
push dword [ebp - 0xc8]
lea eax, [ebp - 0x190]
push eax
call fcn.10027658
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0x12ca
push 0xb3c
lea eax, [ebp - 0x14]
push eax
push 0x98e
push 1
push 0x375c
push 0xd1a
push 0x1dbd
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x28]
push eax
push 0xd8a
call fcn.100298be
add esp, 0x38
push 0x1c2a
push 1
lea eax, [ebp - 0x14]
push eax
push 0x5bfe
lea eax, [ebp - 0x28]
push eax
push 0x22ee
push 1
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.10027bbd
add esp, 0x28
push 0x4a36
lea eax, [ebp - 0x14]
push eax
push 1
push 1
push 0x3c9
lea eax, [ebp - 0xc8]
push eax
push 1
push 0x1c2d
call fcn.10029aaa
add esp, 0x20
push 0x341c
push 0x5a75
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push 1
push 0x144f
push 0xd2
push 0x3b07
push 0x14f6
lea eax, [ebp - 0x14]
push eax
push 1
call fcn.10029bbe
add esp, 0x2c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x190]
call fcn.1002b35a
jmp 0x1002ab9b
and dword [ebp - 0x70], 0
jmp 0x1002acf2
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
sub eax, ecx
cmp dword [ebp - 0x70], eax
jae 0x1002ad4d
push 0
push 0xba3
push 0x4b9f
push 0x4b23
lea eax, [ebp - 0x2c]
push eax
push 0x69f7
lea eax, [ebp - 0x70]
push eax
push 1
push 0x76da
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x27e1
push 0x18ba
push 0x7dc8
call fcn.100298be
add esp, 0x38
jmp 0x1002aceb
push 1
lea eax, [ebp - 0x70]
push eax
push 0x576c
push 1
lea eax, [ebp - 0x34]
push eax
push 0x2001
push 0x6cb6
push 1
push 0x6303
call fcn.10028037
add esp, 0x24
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1a8]
call fcn.1002b35a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c0]
call fcn.1002b35a
jmp 0x1002ade5
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x170]
mov eax, dword [eax + 0x14]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx]
mov dword [ecx + 0x14], eax
jmp 0x1002ae31
lea eax, [ebp + 0x10]
mov dword [ebp - 0x118], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x110], eax
push 0x8bc
push 0
push 0x7fe9
mov eax, dword [ebp - 0x158]
push dword [eax]
push 0x50dd
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x118]
push dword [eax]
call fcn.10027822
add esp, 0x1c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret