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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov edx, dword [esi + 0x60]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x159c]
sub eax, edx
and eax, 0x3fffff
mov dword [esp + 0x10], edi
test ecx, ecx
jle 0xc63c85
mov ecx, dword [esi + 0x15a0]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0xc63c72
mov bl, byte [ecx + 0x3c]
test bl, bl
je 0xc63b0f
mov byte [ecx + 0x3c], 0
jmp 0xc63c72
mov ebp, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x34]
mov ecx, ebp
mov dword [esp + 0x18], ebx
sub ecx, edx
and ecx, 0x3fffff
cmp ecx, eax
jae 0xc63c72
cmp edx, ebp
je 0xc63b4c
push ebp
push edx
mov ecx, esi
call fcn.00c639c4
test eax, eax
jne 0xc63c94
mov eax, dword [esi + 0x5c]
mov edx, ebp
sub eax, ebp
and eax, 0x3fffff
cmp ebx, eax
ja 0xc63c9c
add ebx, ebp
and ebx, 0x3fffff
cmp ebp, ebx
mov dword [esp + 0x14], ebx
jb 0xc63b9c
test ebx, ebx
je 0xc63b9c
mov edx, dword [esi + 0x58]
mov ebx, 0x400000
sub ebx, ebp
add edx, ebp
lea edi, [esi + 0x1554]
push ebx
push edx
push 0
mov ecx, edi
call fcn.00c675b4
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x58]
push eax
push ecx
push ebx
mov ecx, edi
call fcn.00c675b4
mov ebx, dword [esp + 0x14]
jmp 0xc63bb6
mov eax, dword [esi + 0x58]
mov edx, dword [esp + 0x18]
add eax, ebp
lea edi, [esi + 0x1554]
push edx
push eax
push 0
mov ecx, edi
call fcn.00c675b4
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00c63a14
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x159c]
inc eax
cmp eax, ecx
jge 0xc63c32
mov ebx, eax
mov ecx, dword [esi + 0x15a0]
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0xc63c2e
cmp dword [eax + 0x30], ebp
jne 0xc63c2e
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x34]
cmp edx, ecx
jne 0xc63c38
mov dl, byte [eax + 0x3c]
test dl, dl
jne 0xc63c38
mov edx, dword [edi]
mov eax, dword [esp + 0x1c]
add edx, eax
push ecx
push edx
push 0
mov ecx, edi
call fcn.00c675b4
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
inc eax
push ecx
push eax
mov ecx, esi
mov dword [esp + 0x18], eax
inc ebx
call fcn.00c63a14
cmp ebx, dword [esi + 0x159c]
jl 0xc63bd8
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
jmp 0xc63c3c
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
mov ebp, dword [esp + 0x1c]
add edx, ebp
push ecx
push edx
mov ecx, esi
call fcn.00c63944
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x78]
add ecx, eax
mov eax, dword [esi + 0x5c]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x78], ecx
mov ebp, dword [esi + 0x7c]
mov edx, ebx
adc ebp, 0
sub eax, ebx
mov dword [esi + 0x7c], ebp
and eax, 0x3fffff
mov ecx, dword [esi + 0x159c]
inc edi
cmp edi, ecx
mov dword [esp + 0x10], edi
jl 0xc63aee
mov eax, dword [esi + 0x5c]
mov ecx, esi
push eax
push edx
mov dword [esi + 0x60], eax
call fcn.00c639c4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0x159c]
mov ecx, edi
cmp edi, eax
jge 0xc63ccb
mov eax, dword [esi + 0x15a0]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0xc63cc0
mov bl, byte [eax + 0x3c]
test bl, bl
je 0xc63cc0
mov byte [eax + 0x3c], 0
mov eax, dword [esi + 0x159c]
inc ecx
cmp ecx, eax
jl 0xc63ca8
mov dword [esi + 0x60], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret