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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x21c9867
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
push esi
mov ebx, ecx
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
call fcn.10041fe6
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
test byte [esi + 0x14], 1
je 0x1002c4c9
push 0
mov ecx, ebx
call fcn.10027100
mov eax, dword [ebx + 0x1c]
push 0
push 0
push eax
call dword [0x21cb554]
mov edx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x40]
lea ecx, [ebx + 0x3c]
push esi
call dword [edx + 4]
test eax, eax
jne 0x1002c4e2
push eax
mov ecx, ebx
jmp 0x1002c783
mov dword [ebx + 0x40], edi
mov al, byte [esi + 0x14]
test al, 1
je 0x1002c80c
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c50a
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.10045867
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
add eax, 4
cmp ecx, 1
mov dword [esi + 0x24], eax
jbe 0x1002c523
push 0
mov ecx, ebx
jmp 0x1002c783
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c53a
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.10045867
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov dword [ebx + 0xe4], ecx
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
add ebx, 4
mov eax, ebx
mov dword [esi + 0x24], ebx
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c567
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.10045867
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
add eax, 4
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x24], eax
xor ebx, ebx
cmp ebx, dword [ebp - 0x20]
jge 0x1002c647
push 0xf0
call fcn.10041938
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x1002c5c1
mov edx, dword [0x21e7c88]
mov dword [edi + 0x20], edx
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 3
call fcn.1000e740
mov eax, dword [0x21e7c88]
mov dword [edi + 0xe8], eax
mov dword [edi], 0
jmp 0x1002c5c3
xor edi, edi
push esi
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.100265a0
test eax, eax
jne 0x1002c62e
test edi, edi
mov dword [ebp - 0x20], edi
je 0x1002c613
lea ecx, [edi + 0xe8]
mov byte [ebp - 4], 5
call fcn.10041bf7
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 4
mov dword [ecx], 0x21cbf1c
call fcn.1000e940
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 1
call fcn.10041bf7
push edi
call fcn.10041961
add esp, 4
mov ecx, dword [ebp - 0x14]
push 0
call fcn.10027100
mov dword [ebp - 4], 0xffffffff
call fcn.10042024
jmp 0x1002c96c
mov ecx, dword [ebp - 0x14]
push edi
add ecx, 0xd0
mov eax, dword [ecx + 8]
push eax
call fcn.1003dfd2
inc ebx
jmp 0x1002c577
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c661
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.10045867
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x1c], 0
mov ecx, dword [eax]
add eax, 4
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x24], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jge 0x1002c7d0
lea eax, [ebp - 0x3c]
push 0x10
push eax
mov ecx, esi
call fcn.1004564c
mov eax, dword [ebp - 0x3c]
xor edi, edi
sub eax, edi
je 0x1002c73f
dec eax
jne 0x1002c6bf
mov eax, dword [ebp - 0x34]
test eax, eax
jle 0x1002c6bf
push eax
call fcn.10041938
mov ecx, dword [ebp - 0x34]
add esp, 4
mov edi, eax
push ecx
push edi
mov ecx, esi
call fcn.1004564c
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edi
test ecx, ecx
mov dword [ebp - 0x30], 0
je 0x1002c7a0
xor edx, edx
cmp edx, dword [ebp - 0x20]
jge 0x1002c799
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xd4]
mov eax, dword [eax + edx*4]
cmp dword [eax + 0x34], ecx
jne 0x1002c6fa
mov dword [eax + 0x34], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x38], ecx
jne 0x1002c709
mov dword [eax + 0x38], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x28], ecx
jne 0x1002c718
mov dword [eax + 0x28], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x78], ecx
jne 0x1002c727
mov dword [eax + 0x78], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x84], ecx
jne 0x1002c73c
mov dword [eax + 0x84], edi
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
inc edx
jmp 0x1002c6d6
push 0x10
call fcn.10041938
add esp, 4
test eax, eax
je 0x1002c758
mov ecx, eax
call fcn.10021960
mov edi, eax
jmp 0x1002c75a
xor edi, edi
push esi
mov ecx, edi
call fcn.100219e0
test eax, eax
jne 0x1002c6bf
test edi, edi
je 0x1002c77e
mov ecx, edi
call fcn.10021970
push edi
call fcn.10041961
add esp, 4
mov ecx, dword [ebp - 0x14]
push 0
call fcn.10027100
mov dword [ebp - 4], 0xffffffff
call fcn.10042024
jmp 0x1002c96c
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x1002c7b4
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10027650
inc dword [ebp - 0x1c]
jmp 0x1002c676
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x3c]
push 0x10
push edx
lea ecx, [eax + 0xe8]
call fcn.1000ec40
inc dword [ebp - 0x1c]
jmp 0x1002c676
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.1002c990
mov ecx, esi
call fcn.1002cbc0
mov ecx, esi
call fcn.1002cc00
mov dword [ebp - 4], 0xffffffff
call fcn.10042024
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
add ecx, 4
cmp ecx, eax
jbe 0x1002c820
mov ecx, esi
call fcn.100457eb
mov edx, dword [esi + 0x24]
mov dword [edx], 1
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
add edx, 4
mov eax, edx
mov dword [esi + 0x24], edx
mov edi, dword [ebx + 0xe4]
add eax, 4
cmp eax, ecx
jbe 0x1002c84b
mov ecx, esi
call fcn.100457eb
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
mov dword [eax], edi
mov edx, dword [esi + 0x24]
add edx, 4
mov dword [esi + 0x24], edx
mov ebx, dword [ecx + 0xd8]
mov ecx, dword [esi + 0x28]
mov eax, edx
add eax, 4
cmp eax, ecx
jbe 0x1002c875
mov ecx, esi
call fcn.100457eb
mov edx, dword [esi + 0x24]
mov dword [edx], ebx
mov eax, dword [esi + 0x24]
add eax, 4
xor edi, edi
mov dword [esi + 0x24], eax
cmp edi, ebx
jge 0x1002c8b3
mov eax, dword [ebp - 0x14]
push esi
mov ecx, dword [eax + 0xd4]
mov ecx, dword [ecx + edi*4]
call fcn.100265a0
test eax, eax
jne 0x1002c8b0
mov dword [ebp - 4], 0xffffffff
call fcn.10042024
jmp 0x1002c96c
inc edi
jmp 0x1002c885
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.100273b0
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x28]
add edx, 4
cmp edx, eax
jbe 0x1002c8d4
mov ecx, esi
call fcn.100457eb
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov eax, dword [esi + 0x24]
add eax, 4
mov ecx, edi
mov dword [esi + 0x24], eax
call fcn.100273c0
mov edi, eax
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x1002c7e8
push 0x10
push edi
mov ecx, esi
call fcn.1004575b
mov eax, dword [edi]
sub eax, 0
je 0x1002c926
dec eax
jne 0x1002c920
mov eax, dword [edi + 8]
test eax, eax
jle 0x1002c920
mov edx, dword [edi + 4]
push eax
push edx
mov ecx, esi
call fcn.1004575b
inc ebx
add edi, 0x10
jmp 0x1002c8f0
mov ecx, dword [edi + 4]
push esi
call fcn.100219e0
test eax, eax
jne 0x1002c920
mov dword [ebp - 4], 0xffffffff
call fcn.10042024
jmp 0x1002c96c
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4