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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005307a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
cmp byte [ebp + 0x20], 0
mov eax, ecx
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0x74], eax
je 0x1002b88e
xor ebx, ebx
cmp byte [ebp + 0x18], bl
je 0x1002b378
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.1002ae23
mov edx, edi
mov dword [esp + 0x114], ebx
lea ecx, [esp + 0x90]
call fcn.1002ae23
push 0xb24
push 0x33e7
lea ecx, [esp + 0x44]
xor eax, eax
push ecx
lea ecx, [esp + 0x9c]
inc eax
push ecx
push 0x1184
lea ecx, [esp + 0x60]
mov byte [esp + 0x128], al
push ecx
push 0xc4b
lea ecx, [esp + 0xa0]
mov dword [esp + 0x68], ebx
push ecx
push eax
push ecx
call fcn.1002beb7
mov edx, ebx
add esp, 0x28
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x4c], edx
jle 0x1002b356
xor edi, edi
inc edi
test esi, esi
jne 0x1002b356
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x90]
cmp ecx, dword [eax + edx*4]
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x40]
cmovg esi, edi
push eax
push 0x7107
push 0x632c
lea eax, [esp + 0x64]
mov dword [esp + 0x64], esi
push eax
push 0x35d9
lea eax, [esp + 0xa8]
push eax
push 0x35f
push ebx
push ecx
call fcn.1002beb7
mov edx, dword [esp + 0x64]
add esp, 0x28
mov esi, dword [esp + 0x54]
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x4c]
jl 0x1002b2ec
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x90]
mov dword [eax], esi
call fcn.1002dfca
lea ecx, [esp + 0x84]
call fcn.1002dfca
jmp 0x1002b8ed
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov edi, dword [ebp + 0x1c]
push 2
pop edx
mov dword [esp + 0x114], edx
cmp dword [edi + 0x10], ebx
je 0x1002b879
push 0x2e
pop eax
mov ecx, ebx
mov dword [esp + 0x20], 0x4010900
mov word [esp + 0x30], ax
mov esi, edx
mov dword [esp + 0x50], ecx
cmp esi, edx
jne 0x1002b3c3
mov ecx, edx
mov esi, edx
mov dword [esp + 0x50], ecx
jmp 0x1002b3fc
movzx edx, byte [esp + esi + 0x21]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x1e]
movzx ecx, word [esp + eax*2 + 0x30]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x20]
add ecx, edx
mov word [esp + eax*2 + 0x30], cx
lea eax, [esp + 0x50]
push eax
call fcn.1002bd58
pop ecx
mov ecx, dword [esp + 0x50]
push 2
pop edx
add esi, edx
cmp esi, 4
jb 0x1002b3b5
xor eax, eax
mov dword [esp + 0xc8], 7
mov word [esp + 0x32], ax
lea ecx, [esp + 0xb4]
mov word [esp + 0xb4], ax
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0xc8], ebx
call fcn.100055e3
lea eax, [esp + 0xb4]
mov byte [esp + 0x114], 3
push eax
mov edx, edi
lea ecx, [esp + 0x5c]
call fcn.10029ed6
pop ecx
push ebx
push 1
lea ecx, [esp + 0xbc]
mov byte [esp + 0x11c], 5
call fcn.10005a02
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0x58]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [esp + 0x30], ebx
test eax, eax
jne 0x1002b846
push 0x2d
pop eax
push 2
pop esi
mov dword [esp + 0x28], 0x2903ff00
mov ecx, ebx
mov word [esp + 0x2c], 0x1bfb
mov word [esp + 0x34], ax
mov dword [esp + 0x64], esi
cmp esi, 2
jne 0x1002b4b1
push 4
pop ecx
push ecx
pop esi
jmp 0x1002b794
movzx edx, byte [esp + esi + 0x29]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x26]
movzx eax, word [esp + eax*2 + 0x34]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x28]
mov word [esp + eax*2 + 0x34], cx
mov dword [esp + 0x14], 0x1f54
cmp dword [esp + 0x14], 0x4f4
jge 0x1002b792
lea eax, [esp + 0x1c]
mov dword [esp + 0x38], ebx
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x20], ebx
push eax
push str._d__d_n
call fcn.1003a1b2
mov eax, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x44], ebx
mov esi, ebx
mov dword [esp + 0x40], esi
mov ecx, ebx
mov dword [esp + 0x18], ecx
mov edx, ebx
mov dword [esp + 0x14], edx
test eax, eax
jle 0x1002b5c5
mov ecx, dword [esp + 0x1c]
mov edi, ebx
test ecx, ecx
jle 0x1002b5b4
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x12]
mov byte [esp + 0x13], 0x61
push eax
lea eax, [esp + 0x17]
mov byte [esp + 0x16], 0x61
push eax
push str._c_c
call fcn.1003a1b2
mov al, byte [esp + 0x1f]
add esp, 0xc
cmp al, 0x30
jne 0x1002b570
cmp byte [esp + 0x12], al
jne 0x1002b57d
inc dword [esp + 0x44]
jmp 0x1002b57e
cmp al, 0x31
jne 0x1002b57d
cmp byte [esp + 0x12], al
jne 0x1002b57d
inc esi
jmp 0x1002b57e
inc ebx
mov eax, dword [esp + 0x1c]
dec eax
cmp edi, eax
jge 0x1002b58e
push 0x1005d760
jmp 0x1002b593
push 0x1005d820
call fcn.1003a1b2
pop ecx
mov ecx, dword [esp + 0x1c]
inc edi
cmp edi, ecx
jl 0x1002b53b
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov dword [esp + 0x40], esi
inc edx
mov dword [esp + 0x14], edx
cmp edx, eax
jl 0x1002b531
mov ecx, dword [esp + 0x18]
mov eax, ecx
lea ecx, [esp + 0xd8]
cdq
sub eax, edx
sar eax, 1
push 0x1005d824
mov dword [esp + 0x18], eax
call fcn.10001c1c
mov byte [esp + 0x114], 6
lea eax, [esp + 0xd8]
mov ecx, dword [esp + 0x1c]
imul ecx, dword [esp + 0x38]
push eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
push ecx
lea ecx, [esp + 0x70]
call fcn.1002e0e0
push ebx
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x11c], 8
call fcn.10002056
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
test esi, esi
jle 0x1002b663
push 0x18
mov edi, eax
mov dword [esp + 0x28], esi
pop ebx
push 0x1005d828
call fcn.10039e10
pop ecx
push eax
push 0x1005d828
mov ecx, edi
call fcn.10001fd9
add edi, ebx
dec esi
jne 0x1002b63c
mov esi, dword [esp + 0x40]
xor ebx, ebx
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add edi, esi
mov dword [esp + 0x48], edi
cmp esi, edi
jge 0x1002b6aa
imul esi, esi, 0x18
push 0x18
add esi, eax
mov eax, edi
sub eax, dword [esp + 0x44]
mov dword [esp + 0x28], eax
mov ebx, eax
pop edi
push 0x1005d82c
call fcn.10039e10
pop ecx
push eax
push 0x1005d82c
mov ecx, esi
call fcn.10001fd9
add esi, edi
dec ebx
jne 0x1002b685
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x14]
add ecx, esi
mov dword [esp + 0x24], ecx
cmp edi, ecx
jge 0x1002b6f3
imul esi, edi, 0x18
mov eax, ecx
push 0x18
pop ebx
add esi, dword [esp + 0x18]
sub eax, edi
mov dword [esp + 0x48], eax
mov edi, eax
push 0x1005d830
call fcn.10039e10
pop ecx
push eax
push 0x1005d830
mov ecx, esi
call fcn.10001fd9
add esi, ebx
dec edi
jne 0x1002b6d0
mov ecx, dword [esp + 0x24]
xor ebx, ebx
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
sub eax, edi
push 0x18
cdq
pop esi
idiv esi
mov dword [esp + 0x14], eax
cmp ecx, eax
jae 0x1002b73e
imul esi, ecx, 0x18
push 0x18
pop ebx
add esi, edi
mov edi, eax
sub edi, ecx
push 0x1005d834
call fcn.10039e10
pop ecx
push eax
push 0x1005d834
mov ecx, esi
call fcn.10001fd9
add esi, ebx
dec edi
jne 0x1002b717
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov esi, ebx
test eax, eax
je 0x1002b77d
mov ebx, dword [esp + 0x14]
mov edx, edi
call fcn.1002e33b
mov edx, 0x1005d760
mov ecx, eax
call fcn.10003644
inc esi
mov eax, esi
cdq
idiv dword [esp + 0x1c]
test edx, edx
jne 0x1002b772
push 0x1005a911
call fcn.1003a45e
pop ecx
push 0x18
pop eax
add edi, eax
cmp esi, ebx
jb 0x1002b748
xor ebx, ebx
lea ecx, [esp + 0x68]
mov byte [esp + 0x114], 5
call fcn.1002e182
mov esi, dword [esp + 0x64]
mov ecx, ebx
add esi, 2
mov dword [esp + 0x64], esi
cmp esi, 6
jb 0x1002b4a2
xor eax, eax
mov dword [esp + 0xb0], 7
mov word [esp + 0x36], ax
lea ecx, [esp + 0x9c]
mov word [esp + 0x9c], ax
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0xb0], ebx
call fcn.100055e3
mov edx, dword [ebp + 0x1c]
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0x118], 9
call fcn.10029ed6
pop ecx
mov esi, eax
lea eax, [esp + 0x58]
cmp eax, esi
je 0x1002b823
mov ecx, eax
call fcn.1002def1
mov ecx, dword [esi]
mov dword [esp + 0x58], ecx
mov eax, dword [esi + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x60], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
lea ecx, [esp + 0xcc]
call fcn.1002def1
push ebx
push 1
lea ecx, [esp + 0xa4]
mov byte [esp + 0x11c], 5
call fcn.10005a02
push ebx
push 0x4065
push 0x27fd
lea edx, [esp + 0x84]
lea ecx, [esp + 0x64]
call fcn.1002bf38
add esp, 0xc
mov byte [esp + 0x114], 2
lea ecx, [esp + 0x58]
call fcn.1002def1
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call fcn.1002dc96
lea ecx, [esp + 0x78]
jmp 0x1002b36e
cmp byte [ebp + 0x14], 0
je 0x1002b8d1
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push dword [eax]
lea eax, [esp + 0xf8]
push eax
call fcn.1002d93e
mov ecx, dword [ebp + 0x28]
push eax
mov dword [esp + 0x118], 0xb
call fcn.1002d9f1
push 0
push 1
lea ecx, [esp + 0xf8]
call fcn.10005a02
jmp 0x1002b8ed
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x1002b8ed
push 0
push ecx
mov edx, 0x592a
mov ecx, 0x4145
call fcn.10029dad
pop ecx
pop ecx
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret