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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100619c5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x108
mov byte [esp + 0x24], cl
push ebx
push esi
push edi
test cl, cl
je 0x1002dc45
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1002dc3a
lea eax, [esp + 0x78]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [esp + 0x44]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call fcn.1002eaf9
mov dword [esp + 0x11c], ebx
mov edi, 0x13de
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push dword [esp + 0x3c]
sar eax, 1
push eax
push edi
push 0x1dc4
call fcn.10015499
pop ecx
pop ecx
call eax
push dword [esp + 0x3c]
lea ecx, [esp + 0x64]
call fcn.10016a15
push 0x1493
mov byte [esp + 0x120], 1
call fcn.1003f46f
cmp dword [esp + 0x78], 8
pop ecx
movzx edx, ax
lea ecx, [esp + 0x60]
cmovae ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x34], edx
cmp word [ecx + eax*2 - 2], dx
je 0x1002d7b5
push 0x7d78
lea eax, [esp + 0x38]
mov edx, 0x1645
push eax
lea eax, [esp + 0x68]
mov ecx, 0x27dd
push eax
push 1
push 0x4541
push 1
push 0x65d4
push 0x69b4
push 0x585d
push 1
push 0x40cb
push 0x7705
call fcn.1002c31b
add esp, 0x30
push ecx
mov edx, 0x4e57
lea ecx, [esp + 0xfc]
call fcn.10043b30
push ecx
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x128], 2
call fcn.1002eb35
push ebx
push 1
lea ecx, [esp + 0x100]
mov byte [esp + 0x124], 1
call fcn.1001730c
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push ebx
cmovae eax, dword [esp + 0x64]
push eax
push edi
push 0x258b
call fcn.10015499
pop ecx
pop ecx
call eax
push ecx
push 1
lea eax, [esp + 0x3c]
mov edx, 0x75a5
push 0x4358
push eax
lea ecx, [esp + 0x70]
call fcn.1002c673
add esp, 0x10
mov dword [esp + 0x38], ebx
lea eax, [esp + 0x38]
push 0x4f4f
push eax
push ecx
push 1
push 0x3613
push ecx
push 0x6c66
mov ecx, esi
call fcn.1002c73c
add esp, 0x1c
mov byte [esp + 0x13], bl
mov dword [esp + 0x14], ebx
mov byte [esp + 0x20], 3
mov dword [esp + 0x22], 0x56001d02
push 0x22
pop eax
mov byte [esp + 0x21], al
mov dword [esp + 0x26], 0xb9034b01
mov word [esp + 0x2a], 0x4fa
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x80]
call fcn.100169ed
push 0x10
pop edx
lea ecx, [esp + 0xe0]
mov byte [esp + 0x11c], 3
call fcn.10040697
lea eax, [esp + 0xe0]
mov byte [esp + 0x11c], 4
push eax
push 0x2415
push 1
push ecx
push ecx
lea ecx, [esp + 0x90]
call fcn.1002c5a5
add esp, 0x14
mov ecx, ebx
mov dword [esp + 0x2c], ecx
push 0x65
pop eax
push 2
mov word [esp + 0x52], ax
pop esi
cmp esi, 8
jne 0x1002d8f1
push 4
pop ecx
push 0xa
mov dword [esp + 0x30], ecx
pop esi
jmp 0x1002d946
movzx edx, byte [esp + esi + 0x21]
mov eax, esi
sub eax, ecx
push 0x6058
push 1
push 0x5eeb
movzx eax, byte [esp + eax + 0x2a]
movzx ecx, word [esp + eax*2 + 0x54]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x2c]
add ecx, edx
mov edx, 0x6644
mov word [esp + eax*2 + 0x54], cx
lea eax, [esp + 0x38]
push eax
push 1
push 0x6ea
mov ecx, 0xae8
call fcn.1002c8cc
mov ecx, dword [esp + 0x44]
add esp, 0x18
add esi, 2
cmp esi, 0xc
jb 0x1002d8e0
xor eax, eax
mov dword [esp + 0xc0], 7
mov word [esp + 0x50], ax
lea ecx, [esp + 0xac]
mov word [esp + 0xac], ax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0xc0], ebx
call fcn.10017284
push ecx
push ecx
lea eax, [esp + 0xb4]
mov byte [esp + 0x124], 5
push eax
lea ecx, [esp + 0x88]
call fcn.1002eb35
push ebx
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x124], 4
call fcn.1001730c
xor eax, eax
lea edi, [esp + 0x48]
cmp dword [esp + 0x90], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [esp + 0x94]
cmovae eax, dword [esp + 0x94]
mov edi, 0x13de
push eax
push edi
push 0x1986
call fcn.10015499
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1002da3e
push ebx
lea eax, [esp + 0xe0]
push eax
push dword [esp + 0x40]
mov eax, dword [ebp + 0x18]
push dword [eax]
push esi
push edi
push 0x2640
call fcn.10015499
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x11bf
setne bl
call fcn.10015499
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1002da9c
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0xe8]
call fcn.1001730c
push ebx
push 1
lea ecx, [esp + 0x84]
mov byte [esp + 0x124], 1
call fcn.1001730c
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
cmp edi, 0x12c
jb 0x1002d87f
mov eax, dword [ebp + 0x14]
mov dword [eax], 2
push ebx
push 1
lea ecx, [esp + 0x68]
call fcn.1001730c
lea ecx, [esp + 0x3c]
call fcn.10028b70
jmp 0x1002dc65
push 0x22
pop eax
mov word [esp + 0x14], ax
lea ecx, [esp + 0x94]
xor eax, eax
xor ebx, ebx
push 7
mov word [esp + 0x1a], ax
pop edi
mov word [esp + 0x94], ax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
call fcn.10017284
push ebx
push 0x4b3e
push 1
push 0xd20
push 0x4fb4
lea eax, [esp + 0xa8]
mov byte [esp + 0x130], 6
push eax
lea eax, [esp + 0x94]
mov dword [esp + 0x2c], ebx
push 0x3476
push eax
mov dl, 1
mov ecx, 0xdf5
call fcn.1002ddd3
add esp, 0x20
mov dword [esp + 0x18], 0x71003403
mov dword [esp + 0x1c], 0xf020201
push 0x53
pop eax
push 2
mov word [esp + 0x5e], ax
pop esi
movzx eax, byte [esp + esi + 0x16]
movzx ecx, byte [esp + esi + 0x19]
movzx edx, word [esp + eax*2 + 0x54]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [esp + esi + 0x18]
add edx, ecx
add esi, 2
mov word [esp + eax*2 + 0x54], dx
cmp esi, 8
jb 0x1002db34
xor eax, eax
mov dword [esp + 0xd8], edi
mov word [esp + 0x5c], ax
lea ecx, [esp + 0xc4]
mov word [esp + 0xc4], ax
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0xd8], ebx
call fcn.10017284
push ecx
push ecx
lea eax, [esp + 0xcc]
mov byte [esp + 0x124], 7
push eax
lea ecx, [esp + 0xa0]
call fcn.1002eb35
push ebx
push 1
lea ecx, [esp + 0xcc]
mov byte [esp + 0x124], 6
call fcn.1001730c
xor eax, eax
lea edi, [esp + 0x54]
stosd dword es:[edi], eax
mov edx, 0x4ba3
mov cl, 1
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x13]
push eax
push 1
push 0x25b7
push 0x999
push 1
push 0x1821
call fcn.1002c601
add esp, 0x18
lea edx, [esp + 0x60]
lea ecx, [esp + 0x94]
call fcn.1002b712
mov ecx, dword [ebp + 0x14]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0x9c]
call fcn.1001730c
push ebx
push 1
lea ecx, [esp + 0xe8]
call fcn.1001730c
push ebx
push 1
lea ecx, [esp + 0x84]
call fcn.1001730c
jmp 0x1002da82
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x1002dc65
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
cmp dword [edx], 3
jge 0x1002dc65
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
and dword [eax + ecx*4], 0
inc dword [edx]
cmp dword [edx], 3
jl 0x1002dc56
mov ecx, dword [esp + 0x114]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret