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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push 0x20
push 1
push 7
mov esi, ecx
push ebx
push ebx
lea ecx, [esp + 0x70]
mov dword [esp + 0x50], esi
mov dword [esp + 0x64], 1
mov dword [esp + 0x6c], 0x100
xor edi, edi
mov dword [esp + 0x60], ebx
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
push eax
mov eax, dword [ebp + 8]
push ebx
push pe_nt_image_headers32
push eax
push ebx
lea ecx, [esp + 0x8c]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
push eax
push 0x120089
lea ecx, [esp + 0x3c]
push ecx
call fcn.00c6a890
cmp eax, ebx
jne 0xca07fe
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x20]
push edx
push 0x38
lea eax, [esp + 0xb8]
push eax
push ebx
push ecx
call fcn.00c6bb90
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0xca0234
mov edx, dword [esp + 0x14]
push edx
call fcn.00c6ad50
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
push ebx
push ebx
push pe_nt_image_headers32
push edx
push ebx
lea ecx, [esp + 0x78]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
push eax
mov ecx, esi
call fcn.00c9bf80
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esi + 0x9c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
call fcn.00c89af0
test eax, eax
je 0xca02ae
push 8
call fcn.00c5e010
add esp, 4
cmp eax, ebx
je 0xca02a2
mov dword [eax + 4], esi
mov edx, dword [esi + 0x44]
mov dword [eax], edx
mov dword [esi + 0x44], 1
jmp 0xca02a4
xor eax, eax
push eax
lea ecx, [esp + 0x14]
call fcn.00c87580
mov eax, dword [esp + 0xb0]
push ebx
push ebx
push 0x21
push 2
push 7
push eax
push ebx
lea ecx, [esp + 0x70]
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [ebp + 0xc]
push eax
push ebx
push pe_nt_image_headers32
push ecx
push ebx
lea ecx, [esp + 0x8c]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
push eax
push 0x100002
lea edx, [esp + 0x40]
push edx
call fcn.00c6a890
mov esi, eax
cmp esi, ebx
je 0xca032f
mov eax, dword [esp + 0x14]
push eax
call fcn.00c6ad50
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0xca0324
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push eax
mov dword [ecx + 0x44], edx
call fcn.00c5e000
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0xca0348
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push eax
mov dword [ecx + 0x44], edx
call fcn.00c5e000
add esp, 4
mov eax, dword [esp + 0x18]
push eax
call fcn.00c6ad50
push 0x100bc634
lea ecx, [esp + 0x7c]
push ecx
call dword [0x100ccda0]
jmp 0xca0366
xor ebx, ebx
cmp edi, ebx
je 0xca0373
push edi
call fcn.00c7b000
add esp, 4
mov esi, dword [esp + 0x50]
push esi
call fcn.00c7b050
mov edx, dword [esp + 0x4c]
add esp, 4
neg edx
mov edi, eax
push ebx
sbb edx, edx
lea eax, [esp + 0x7c]
and edx, eax
push edx
push 1
push 2
push esi
push edi
lea ecx, [esp + 0xb0]
mov dword [esp + 0x5c], esi
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [esp + 0x2c]
push eax
push ebx
push ebx
push ebx
push ecx
call fcn.00c6b2c0
cmp eax, 0xc0000004
je 0xca077a
cmp eax, 0x80000005
je 0xca077a
cmp eax, 0xc0000023
je 0xca077a
cmp eax, ebx
jne 0xca07af
cmp dword [esp + 0x48], ebx
je 0xca03f0
mov dword [esp + 0x48], ebx
mov edx, dword [edi + 0x3c]
shr edx, 1
add edx, 1
push edx
lea ecx, [esp + 0x3c]
call fcn.00c5f1d0
mov eax, dword [edi + 0x3c]
mov esi, dword [esp + 0x38]
push eax
lea ecx, [edi + 0x44]
push ecx
push esi
call fcn.00c7af30
mov edx, dword [esp + 0x48]
add esp, 0xc
push esi
lea ecx, [esp + 0x60]
mov word [esi + edx*2 - 2], bx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
call fcn.00c605a0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x28]
call fcn.00cba3a0
push 0x100b11d8
lea ecx, [esp + 0x28]
call fcn.00cba4e0
mov ebx, dword [esp + 0x5c]
push ebx
lea ecx, [esp + 0x28]
call fcn.00cba4e0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [esp + 0x30]
call fcn.00cba3a0
push 0x100b11d8
lea ecx, [esp + 0x30]
call fcn.00cba4e0
push ebx
lea ecx, [esp + 0x30]
call fcn.00cba4e0
mov eax, dword [edi + 0x3c]
cmp eax, 4
jne 0xca0499
cmp word [esi], 0x2e
jne 0xca0499
cmp word [esi + 2], 0x2e
je 0xca04aa
cmp eax, 2
jne 0xca04a4
cmp word [esi], 0x2e
je 0xca04aa
xor ebx, ebx
cmp eax, ebx
jne 0xca04e5
lea ecx, [esp + 0x2c]
call fcn.00cba440
lea ecx, [esp + 0x24]
call fcn.00cba440
lea ecx, [esp + 0x5c]
call fcn.00c60810
test esi, esi
je 0xca0364
push esi
call fcn.00c7b000
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
jmp 0xca0364
test dword [edi + 0x38], 0x10
je 0xca055f
mov edx, dword [ebp + 0x10]
push edx
lea ecx, [esp + 0x28]
call fcn.00cea7c0
push eax
lea ecx, [esp + 0x34]
call fcn.00cea7c0
mov ecx, dword [esp + 0x3c]
push eax
call fcn.00ca0180
mov esi, eax
cmp esi, ebx
je 0xca0751
mov ecx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x44], edi
call fcn.00c6ad50
lea ecx, [esp + 0x2c]
call fcn.00cba440
lea ecx, [esp + 0x24]
call fcn.00cba440
lea ecx, [esp + 0x5c]
call fcn.00c60810
lea ecx, [esp + 0x38]
call fcn.00c60570
lea ecx, [esp + 0x40]
call fcn.00c60570
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ebx
push ebx
push 0x20
push 1
push 4
push ebx
push ebx
lea ecx, [esp + 0xc4]
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
push eax
push ebx
push pe_nt_image_headers32
lea ecx, [esp + 0x54]
call fcn.00cea7c0
push eax
push ebx
lea ecx, [esp + 0xb0]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
push eax
push 0x100001
lea eax, [esp + 0x38]
push eax
call fcn.00c6a890
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x50]
push edx
push ebx
push ebx
push pe_nt_image_headers32
lea ecx, [esp + 0x38]
call fcn.00cea7c0
push eax
push ebx
lea ecx, [esp + 0x9c]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
mov esi, dword [esp + 0x40]
push eax
mov ecx, esi
call fcn.00c9bf80
mov eax, dword [esp + 0x10]
push eax
mov ecx, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call fcn.00c8c050
test eax, eax
je 0xca0629
push 8
call fcn.00c5e010
add esp, 4
cmp eax, ebx
je 0xca061d
mov dword [eax + 4], esi
mov ecx, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x44], 1
jmp 0xca061f
xor eax, eax
push eax
lea ecx, [esp + 0x1c]
call fcn.00c87580
mov edx, dword [edi + 0x38]
push ebx
push ebx
push 0x60
push 2
push 7
push edx
push ebx
lea ecx, [esp + 0xbc]
call fcn.00cba0e0
mov ecx, eax
call fcn.00cea7c0
push eax
push ebx
push pe_nt_image_headers32
lea ecx, [esp + 0x4c]
call fcn.00cea7c0
push eax
push ebx
lea ecx, [esp + 0xb0]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
push eax
push 0x100002
lea eax, [esp + 0x48]
push eax
call fcn.00c6a890
mov esi, eax
cmp esi, ebx
jne 0xca0789
lea ecx, [esp + 0x18]
call fcn.00c875c0
push 0x400000
call fcn.00c7b050
mov edx, dword [esp + 0x14]
add esp, 4
push ebx
mov ebx, dword [0x100b0048]
lea ecx, [esp + 0x20]
push ecx
mov esi, eax
push 0x400000
push esi
push edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], 0x400000
call ebx
test eax, eax
je 0xca06fa
mov eax, dword [esp + 0x1c]
test eax, eax
jbe 0xca06fa
mov edx, dword [esp + 0x20]
push 0
lea ecx, [esp + 0x78]
push ecx
push eax
push esi
push edx
call dword [0x100b009c]
mov ecx, dword [esp + 0x10]
push 0
lea eax, [esp + 0x20]
push eax
push 0x400000
push esi
push ecx
call ebx
test eax, eax
jne 0xca06c6
lea ecx, [esp + 0x54]
call fcn.00c60570
cmp dword [ebp + 0x10], 0
je 0xca073d
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push pe_nt_image_headers32
push 0
push ecx
lea ecx, [esp + 0x9c]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [esp + 0x40]
push eax
call fcn.00c9bf80
mov edx, dword [esp + 0x10]
push edx
call fcn.00c6ad50
mov eax, dword [esp + 0x20]
push eax
call fcn.00c6ad50
lea ecx, [esp + 0x2c]
call fcn.00cba440
lea ecx, [esp + 0x24]
call fcn.00cba440
lea ecx, [esp + 0x5c]
call fcn.00c60810
lea ecx, [esp + 0x38]
call fcn.00c60570
jmp 0xca0364
add esi, 0x100
mov dword [esp + 0x50], esi
jmp 0xca0366
mov edx, dword [esp + 0x10]
push edx
mov dword [esp + 0x44], edi
call fcn.00c6ad50
mov eax, dword [esp + 0x14]
push eax
call fcn.00c6ad50
lea ecx, [esp + 0x18]
call fcn.00c875c0
jmp 0xca0527
cmp dword [ebp + 0x10], ebx
mov dword [esp + 0x40], edi
je 0xca07e9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x50]
push edx
push ebx
push ebx
push pe_nt_image_headers32
push ebx
push eax
lea ecx, [esp + 0x9c]
call fcn.00cba110
mov ecx, eax
call fcn.00cea7c0
mov ecx, dword [esp + 0x40]
push eax
call fcn.00c9bf80
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00c6ad50
lea ecx, [esp + 0x40]
call fcn.00c60570
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc