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

Disassembly:
sub esp, 0x180
mov eax, dword [0x613ad0]
xor eax, esp
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x188]
push ebx
push ebp
push edi
mov edi, dword [esp + 0x190]
mov ecx, dword [edi + 0x138]
mov edx, dword [ecx + eax*4]
mov ebx, dword [edx + 0xc]
xor ebp, ebp
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x4cb83d
push esi
push eax
push edi
call fcn.004ad140
xor esi, esi
add esp, 8
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
jle 0x4cb83c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov ebx, dword [edi + 0x3434]
mov edx, ebp
movzx ebp, word [ecx + esi*2]
mov ecx, ebp
imul ecx, ecx, 0x170
add ecx, ebx
test byte [ecx + 0x134], 0x80
jne 0x4cb82b
cmp ebp, edx
jne 0x4cb62c
test esi, esi
jle 0x4cb62c
mov edx, dword [esp + 0x10]
mov word [edx + esi*2], ax
jmp 0x4cb82b
push 0x170
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.004e29c0
mov esi, dword [esp + 0x1ac]
mov ecx, dword [edi + 0x3894]
imul esi, esi, 0x10c
add esp, 0xc
lea edx, [esi + ecx + 0xbc]
push edx
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4cb67b
lea ecx, [edi + 0xf0]
push ecx
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [edi + 0x3894]
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + esi + 0x68]
jne 0x4cb69c
mov ecx, dword [edi + 0x10c]
lea edx, [ecx + ecx*4]
add edx, edx
add edx, edx
mov dword [esp + 0x48], edx
mov ecx, eax
mov edx, dword [ecx + esi + 0x6c]
add ecx, esi
not edx
and dword [esp + 0x150], edx
mov edx, dword [esp + 0x4c]
xor ebx, ebx
cmp edx, dword [ecx + 0x70]
jne 0x4cb6bc
mov dword [esp + 0x4c], ebx
mov ecx, dword [esp + 0x50]
cmp ecx, dword [eax + esi + 0x74]
jne 0x4cb6ce
mov dword [esp + 0x50], 0xffffff
mov edx, dword [esp + 0x54]
cmp edx, dword [eax + esi + 0xe4]
jne 0x4cb6df
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x60]
cmp ecx, dword [eax + esi + 0xb8]
jne 0x4cb6f0
mov dword [esp + 0x60], ebx
mov edx, dword [esp + 0x78]
cmp edx, dword [eax + esi + 0xf0]
jne 0x4cb701
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0x68]
cmp ecx, dword [eax + esi + 0xec]
jne 0x4cb712
mov dword [esp + 0x68], ebx
mov esi, dword [esp + 0x19c]
imul esi, esi, 0x10c
lea edx, [esi + eax + 0xbc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4cb751
cmp byte [esp + 0x45], 2
je 0x4cb751
mov eax, dword [edi + 0x3894]
lea ecx, [esi + eax + 0xbc]
push ecx
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [edi + 0x10c]
mov eax, dword [edi + 0x3894]
mov edx, dword [eax + esi + 0x68]
lea ecx, [ecx + ecx*4]
add eax, esi
add ecx, ecx
add ecx, ecx
cmp edx, ecx
je 0x4cb776
cmp edx, ebx
jle 0x4cb776
mov dword [esp + 0x48], edx
mov edx, dword [edi + 0x3894]
lea ecx, [esi + edx]
mov edx, dword [ecx + 0x6c]
or dword [esp + 0x150], edx
cmp dword [ecx + 0x70], 0x10101
je 0x4cb799
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x74]
cmp ecx, 0xffffff
je 0x4cb7a8
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0xe4]
cmp ecx, 0x10101
je 0x4cb7ba
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0xb8]
cmp ecx, ebx
je 0x4cb7c8
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0xf0]
cmp ecx, ebx
je 0x4cb7d6
mov dword [esp + 0x78], ecx
mov eax, dword [eax + 0xec]
cmp eax, ebx
je 0x4cb7e4
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x3a0]
lea edx, [esp + 0x1c]
push edx
push ebp
push eax
push edi
call fcn.004a8740
add esp, 0x10
cmp eax, ebx
jge 0x4cb800
mov eax, ebp
mov edx, dword [edi + 0x3434]
mov ecx, eax
imul ecx, ecx, 0x170
cmp dword [ecx + edx + 0x3c], 1
je 0x4cb81f
push eax
push edi
call fcn.004cb060
add esp, 8
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov word [ecx + esi*2], ax
add esi, 1
cmp esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jl 0x4cb5f0
pop esi
mov ecx, dword [esp + 0x188]
pop edi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.005aac48
add esp, 0x180
ret