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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2479307
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.10041898
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
test byte [esi + 0x14], 1
je 0x1002c7d9
push 0
mov ecx, ebx
call fcn.100273d0
mov eax, dword [ebx + 0x1c]
push 0
push 0
push eax
call dword [0x247a554]
mov edx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x40]
lea ecx, [ebx + 0x3c]
push esi
call dword [edx + 4]
test eax, eax
jne 0x1002c7f2
push eax
mov ecx, ebx
jmp 0x1002ca93
mov dword [ebx + 0x40], edi
mov al, byte [esi + 0x14]
test al, 1
je 0x1002cb1c
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c81a
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.1004511b
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
add eax, 4
cmp ecx, 1
mov dword [esi + 0x24], eax
jbe 0x1002c833
push 0
mov ecx, ebx
jmp 0x1002ca93
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c84a
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.1004511b
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 0x1002c877
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.1004511b
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 0x1002c957
push 0xf0
call fcn.100411ea
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x1002c8d1
mov edx, dword [0x24961f8]
mov dword [edi + 0x20], edx
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 3
call fcn.1000ea10
mov eax, dword [0x24961f8]
mov dword [edi + 0xe8], eax
mov dword [edi], 0
jmp 0x1002c8d3
xor edi, edi
push esi
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.100268a0
test eax, eax
jne 0x1002c93e
test edi, edi
mov dword [ebp - 0x20], edi
je 0x1002c923
lea ecx, [edi + 0xe8]
mov byte [ebp - 4], 5
call fcn.100414a9
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 4
mov dword [ecx], 0x247af1c
call fcn.1000ec10
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 1
call fcn.100414a9
push edi
call fcn.10041213
add esp, 4
mov ecx, dword [ebp - 0x14]
push 0
call fcn.100273d0
mov dword [ebp - 4], 0xffffffff
call fcn.100418d6
jmp 0x1002cc7c
mov ecx, dword [ebp - 0x14]
push edi
add ecx, 0xd0
mov eax, dword [ecx + 8]
push eax
call fcn.1003d886
inc ebx
jmp 0x1002c887
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
lea edx, [eax + 4]
cmp edx, ecx
jbe 0x1002c971
sub eax, ecx
mov ecx, esi
add eax, 4
push eax
call fcn.1004511b
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 0x1002cae0
lea eax, [ebp - 0x3c]
push 0x10
push eax
mov ecx, esi
call fcn.10044f00
mov eax, dword [ebp - 0x3c]
xor edi, edi
sub eax, edi
je 0x1002ca4f
dec eax
jne 0x1002c9cf
mov eax, dword [ebp - 0x34]
test eax, eax
jle 0x1002c9cf
push eax
call fcn.100411ea
mov ecx, dword [ebp - 0x34]
add esp, 4
mov edi, eax
push ecx
push edi
mov ecx, esi
call fcn.10044f00
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edi
test ecx, ecx
mov dword [ebp - 0x30], 0
je 0x1002cab0
xor edx, edx
cmp edx, dword [ebp - 0x20]
jge 0x1002caa9
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xd4]
mov eax, dword [eax + edx*4]
cmp dword [eax + 0x34], ecx
jne 0x1002ca0a
mov dword [eax + 0x34], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x38], ecx
jne 0x1002ca19
mov dword [eax + 0x38], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x28], ecx
jne 0x1002ca28
mov dword [eax + 0x28], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x78], ecx
jne 0x1002ca37
mov dword [eax + 0x78], edi
mov ebx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [eax + 0x84], ecx
jne 0x1002ca4c
mov dword [eax + 0x84], edi
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
inc edx
jmp 0x1002c9e6
push 0x10
call fcn.100411ea
add esp, 4
test eax, eax
je 0x1002ca68
mov ecx, eax
call fcn.10021c40
mov edi, eax
jmp 0x1002ca6a
xor edi, edi
push esi
mov ecx, edi
call fcn.10021cc0
test eax, eax
jne 0x1002c9cf
test edi, edi
je 0x1002ca8e
mov ecx, edi
call fcn.10021c50
push edi
call fcn.10041213
add esp, 4
mov ecx, dword [ebp - 0x14]
push 0
call fcn.100273d0
mov dword [ebp - 4], 0xffffffff
call fcn.100418d6
jmp 0x1002cc7c
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x1002cac4
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10027920
inc dword [ebp - 0x1c]
jmp 0x1002c986
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x3c]
push 0x10
push edx
lea ecx, [eax + 0xe8]
call fcn.1000ef10
inc dword [ebp - 0x1c]
jmp 0x1002c986
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.1002cca0
mov ecx, esi
call fcn.1002ced0
mov ecx, esi
call fcn.1002cf10
mov dword [ebp - 4], 0xffffffff
call fcn.100418d6
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 0x1002cb30
mov ecx, esi
call fcn.1004509f
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 0x1002cb5b
mov ecx, esi
call fcn.1004509f
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 0x1002cb85
mov ecx, esi
call fcn.1004509f
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 0x1002cbc3
mov eax, dword [ebp - 0x14]
push esi
mov ecx, dword [eax + 0xd4]
mov ecx, dword [ecx + edi*4]
call fcn.100268a0
test eax, eax
jne 0x1002cbc0
mov dword [ebp - 4], 0xffffffff
call fcn.100418d6
jmp 0x1002cc7c
inc edi
jmp 0x1002cb95
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.10027680
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x28]
add edx, 4
cmp edx, eax
jbe 0x1002cbe4
mov ecx, esi
call fcn.1004509f
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.10027690
mov edi, eax
xor ebx, ebx
cmp ebx, dword [ebp - 0x18]
jge 0x1002caf8
push 0x10
push edi
mov ecx, esi
call fcn.1004500f
mov eax, dword [edi]
sub eax, 0
je 0x1002cc36
dec eax
jne 0x1002cc30
mov eax, dword [edi + 8]
test eax, eax
jle 0x1002cc30
mov edx, dword [edi + 4]
push eax
push edx
mov ecx, esi
call fcn.1004500f
inc ebx
add edi, 0x10
jmp 0x1002cc00
mov ecx, dword [edi + 4]
push esi
call fcn.10021cc0
test eax, eax
jne 0x1002cc30
mov dword [ebp - 4], 0xffffffff
call fcn.100418d6
jmp 0x1002cc7c
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