Function at 0x100ce5b0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push eax
mov edi, ecx
push 3
call fcn.100c7570
mov esi, eax
test esi, esi
jne 0x100ce5e5
mov eax, dword [edi + 0xe4]
test eax, eax
jl 0x100ce5e5
lea ecx, [eax*8]
sub ecx, eax
mov esi, dword [ecx*4 + 0x101b48c4]
mov ebx, dword [esp + 0x84]
mov ecx, dword [edi + 0x24]
neg ecx
mov eax, dword [ebx + 8]
mov edx, dword [ebx]
add eax, edx
push ecx
cdq
sub eax, edx
mov edx, dword [ebx + 4]
sar eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xc]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x84]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x20]
push edx
push eax
call fcn.100bec50
add esp, 0xc
mov ax, word [esi]
test ax, ax
mov dword [esp + 0x10], eax
je 0x100ce7c1
cmp ax, 0xa
jne 0x100ce6ea
xor ecx, ecx
lea eax, [esp + 0x24]
mov cx, word [esi + 6]
xor edx, edx
mov dx, word [esi + 8]
mov dword [esp + 0x24], ecx
push ebx
lea ecx, [esp + 0x40]
push eax
push ecx
mov ecx, edi
mov dword [esp + 0x34], edx
call fcn.100c79d0
mov ebp, dword [eax]
xor ecx, ecx
mov cx, word [esi + 4]
push ebx
mov edx, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 2]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], eax
lea edx, [esp + 0x30]
lea eax, [esp + 0x48]
mov dword [esp + 0x34], ecx
push edx
push eax
mov ecx, edi
call fcn.100c79d0
mov ecx, eax
mov edx, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edx
call fcn.100fe0d3
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
call dword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
je 0x100ce6fc
mov eax, dword [esp + 0x10]
push eax
call fcn.100c25f0
add esp, 4
lea esi, [esi + eax*2 + 2]
jmp 0x100ce639
mov ecx, dword [edi + 0x24]
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x78]
push ecx
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0x70]
push eax
lea edx, [esp + 0x6c]
push ecx
lea eax, [esp + 0x60]
push edx
push eax
call fcn.100bedd0
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x78]
push ecx
push 4
push edx
call fcn.100bebe0
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
add esp, 0x28
lea edx, [esp + 0x10]
mov dword [eax], 0
mov dword [ecx], 0xffffffff
push edx
push 4
mov ecx, edi
call fcn.100c7570
mov ebp, eax
test ebp, ebp
je 0x100ce7b5
mov al, byte [ebp]
mov bl, byte [esi + 0x12]
test al, al
mov edx, ebp
je 0x100ce7b5
cmp al, bl
je 0x100ce79d
lea edi, [edx + 1]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [edx + ecx + 2]
lea edx, [edx + ecx + 2]
test al, al
jne 0x100ce774
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x14
mov ecx, dword [esp + 0x8c]
lea eax, [edx + 1]
sub edx, ebp
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
inc edx
mov dword [eax], edx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6c
ret 0x14