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

Disassembly:
sub esp, 0xb8
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xbc]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x54], eax
mov edi, edx
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x20], ecx
mov ecx, edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x48], edx
lea eax, [edx + 0x21]
shr eax, 0xc
lea ebp, [eax + 1]
lea eax, [eax + eax*4]
mov dword [esp + 0x1c], ebp
lea eax, [edx + eax*2]
lea esi, [eax*2 + 0x1c]
mov eax, 0x1000
cmp edx, eax
cmova ecx, eax
xor eax, eax
add ecx, ecx
add ecx, esi
adc eax, eax
push eax
push ecx
call fcn.10027cd0
mov ebx, eax
add esp, 8
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x1003ca62
lea eax, [ebx + 7]
jmp 0x1003ccec
push esi
push 0
push ebx
call fcn.1013ad10
lea eax, [esi + ebx]
mov dword [ebx + 4], ebp
mov esi, ebx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
lea ebx, [edi + 0x22]
add esp, 0xc
shr ebx, 0xc
mov dword [esp + 0x44], ebx
mov dword [eax + 0x78], esi
nop dword [eax + eax]
cmp ebx, ebp
jge 0x1003cce0
lea ecx, [esp + 0x28]
mov edx, ebx
push ecx
mov ecx, eax
call fcn.1003ba60
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [esp + 0x50], eax
test ecx, ecx
je 0x1003cae3
lea ebp, [ecx + 0x4000]
mov dword [esp + 0x24], ebp
test ebx, ebx
jne 0x1003cad5
add ecx, 0x88
xor edx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
jmp 0x1003caff
mov edx, ebx
shl edx, 0xc
sub edx, 0x22
mov dword [esp + 0x2c], edx
jmp 0x1003caff
test eax, eax
jne 0x1003caf7
mov eax, 1
mov edi, eax
mov dword [esp + 0x18], edi
jmp 0x1003cc65
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x18], edi
test eax, eax
jne 0x1003cc61
lea eax, [ebx + 1]
cmp eax, dword [esp + 0x1c]
jne 0x1003cb1e
mov ebp, dword [esp + 0x48]
sub ebp, edx
jmp 0x1003cb23
sub ebp, ecx
sar ebp, 2
mov eax, dword [esi + 4]
mov dword [esp + 0x30], ebp
lea eax, [eax + eax*4]
lea eax, [eax + 2]
lea eax, [edx + eax*2]
inc edx
lea ecx, [esi + eax*2]
mov dword [esp + 0x4c], edx
xor eax, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], edx
test ebp, ebp
jle 0x1003cb59
nop dword [eax]
mov word [ecx + eax*2], ax
inc eax
cmp eax, ebp
jl 0x1003cb50
push 0x68
xor esi, esi
lea eax, [esp + 0x5c]
xor edi, edi
push esi
push eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
call fcn.1013ad10
add esp, 0xc
xor ebx, ebx
test ebp, ebp
jle 0x1003cbef
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov edi, 1
mov dword [esp + 0x14], eax
xor esi, esi
mov dword [esp + 0x10], edi
test bl, 1
je 0x1003cbd7
mov ebp, dword [esp + 0x28]
nop dword [eax + eax]
push dword [esp + 0x38]
mov edx, dword [esp + esi*8 + 0x60]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
push dword [esp + esi*8 + 0x64]
call fcn.1003c910
inc esi
mov eax, edi
mov ecx, esi
add esp, 0x10
shl eax, cl
test ebx, eax
jne 0x1003cba0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
mov dword [esp + esi*8 + 0x5c], eax
inc ebx
mov eax, dword [esp + 0x34]
add eax, 2
mov dword [esp + esi*8 + 0x58], edi
mov dword [esp + 0x34], eax
cmp ebx, ebp
jl 0x1003cb83
inc esi
cmp esi, 0xd
jae 0x1003cc32
mov edi, 1
mov ecx, esi
rol edi, cl
nop
test ebp, edi
je 0x1003cc26
push dword [esp + 0x38]
mov edx, dword [esp + esi*8 + 0x60]
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x2c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + esi*8 + 0x64]
call fcn.1003c910
add esp, 0x10
inc esi
rol edi, 1
cmp esi, 0xd
jb 0x1003cc00
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
lea eax, [ebx + ebx*4]
mov dword [esi + eax*4 + 0x18], ecx
mov ecx, dword [esp + 0x40]
mov dword [esi + eax*4 + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + eax*4 + 0x14], edi
mov edi, dword [esp + 0x18]
mov dword [esi + eax*4 + 0x10], ecx
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x1c]
inc ebx
test eax, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], ebx
je 0x1003ca90
mov ecx, eax
mov dword [ecx + 0x78], 0
cmp dword [0x10178a38], 0
je 0x1003ccd2
mov eax, dword [0x1017bbe8]
test eax, eax
je 0x1003cc9b
push eax
call dword [0x10178a88]
add esp, 4
push esi
call dword [0x10178a64]
sub dword [0x1017ba70], eax
add esp, 4
dec dword [0x1017ba94]
push esi
call dword [0x10178a5c]
mov eax, dword [0x1017bbe8]
add esp, 4
test eax, eax
je 0x1003ccdc
push eax
call dword [0x10178a90]
add esp, 4
xor esi, esi
jmp 0x1003cce4
push esi
call dword [0x10178a5c]
add esp, 4
xor esi, esi
jmp 0x1003cce4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov dword [eax], esi
mov eax, edi
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1013942d
add esp, 0xb8
ret