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

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x1c]
push esi
push edi
xor edi, edi
push eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
call fcn.004df880
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x4c600c
pop edi
xor eax, eax
pop esi
add esp, 0x18
ret 0x14
cmp dword [esi + 0x14], edi
je 0x4c6002
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xc]
push edx
push esi
call fcn.004c0980
add esp, 0xc
cmp dword [esi + 0x39b0], edi
jne 0x4c6043
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
push 0x50
push edi
push eax
push edi
push ecx
push esi
call fcn.004fa650
add esp, 0x18
mov eax, dword [esp + 0x24]
push ebx
push ebp
mov ebp, dword [esp + 0x10]
cmp ebp, eax
mov dword [esp + 0x24], ebp
jg 0x4c62fc
lea esp, [esp]
push ebp
push esi
call fcn.004f5090
add esp, 8
test eax, eax
je 0x4c62e5
cmp dword [esi + 0xa114], 0
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
mov eax, edi
je 0x4c60d1
mov al, byte [esi + 0xa15c]
and al, 2
neg al
sbb eax, eax
and eax, 0xffffffed
add eax, 0x5a
mov edi, eax
push edi
push ebx
call fcn.004e08e0
mov ecx, dword [esp + 0x3c]
push edi
push ecx
mov dword [esp + 0x24], eax
call fcn.004e08e0
mov edx, dword [esp + 0x48]
push edi
push edx
mov dword [esp + 0x30], eax
call fcn.004e08e0
mov edi, dword [esp + 0x50]
add esp, 0x18
cmp dword [esi + 0x39b0], 0
jne 0x4c633d
mov ecx, dword [esi + 0xa160]
test ecx, 0x4000000
je 0x4c614b
test ebx, ebx
je 0x4c614b
cmp ebx, 0xffffffff
je 0x4c614b
mov edx, dword [esi + 0x138]
mov edx, dword [edx + ebp*4]
mov edx, dword [edx + 0x30]
test edx, edx
jle 0x4c614b
cmp edx, dword [esp + 0x1c]
je 0x4c62e5
mov ecx, dword [esi + 0x72c]
mov eax, edx
imul eax, eax, 0x98
mov edi, dword [ecx + eax + 4]
test edi, edi
lea ecx, [ecx + eax + 4]
mov dword [ecx], ebx
jl 0x4c6142
mov ecx, dword [esi + 0x72c]
cmp dword [ecx + eax + 4], 0
lea eax, [ecx + eax + 4]
jge 0x4c6142
mov dword [eax], 0
mov dword [esp + 0x1c], edx
jmp 0x4c62e5
test ecx, 0x8000000
je 0x4c6205
test ebx, ebx
je 0x4c6205
cmp ebx, 0xffffffff
je 0x4c6205
mov edx, dword [esi + 0x138]
mov ecx, dword [edx + ebp*4]
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
jle 0x4c6205
mov edx, dword [esi + 0x588c]
imul ecx, ecx, 0x84
mov edi, dword [ecx + edx + 4]
cmp edi, dword [esp + 0x20]
je 0x4c62e5
mov ecx, dword [esi + 0x5884]
mov eax, edi
imul eax, eax, 0x68
mov edx, dword [eax + ecx + 0x20]
test edx, edx
lea ecx, [eax + ecx + 0x20]
mov dword [ecx], ebx
jl 0x4c61c6
mov edx, dword [esi + 0x5884]
cmp dword [eax + edx + 0x20], 0
lea ecx, [eax + edx + 0x20]
jge 0x4c61c6
mov dword [ecx], 0
mov ecx, dword [esi + 0x5884]
mov edx, dword [ecx + eax + 0x20]
add ecx, eax
mov eax, dword [ecx + 8]
test eax, eax
jle 0x4c61fc
mov ecx, dword [esi + 0x588c]
nop
imul eax, eax, 0x84
mov dword [eax + ecx + 0x10], edx
mov ecx, dword [esi + 0x588c]
add edx, dword [eax + ecx + 0x14]
mov eax, dword [eax + ecx + 8]
test eax, eax
jg 0x4c61e0
mov dword [esp + 0x20], edi
jmp 0x4c62e5
cmp edi, 0xffffffff
jne 0x4c6225
mov edx, dword [esi + 0x138]
mov eax, dword [edx + ebp*4]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi + 0x2b38]
imul ecx, ecx, 0x58
mov ebx, dword [ecx + edx + 0x14]
jmp 0x4c6227
mov ebx, eax
cmp dword [esp + 0x34], 0xffffffff
jne 0x4c6249
mov eax, dword [esi + 0x138]
mov ecx, dword [eax + ebp*4]
mov edx, dword [ecx + 0x14]
mov eax, dword [esi + 0x2b38]
imul edx, edx, 0x58
mov edi, dword [edx + eax + 0x10]
jmp 0x4c624d
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x30], 0xffffffff
jne 0x4c626f
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + ebp*4]
mov eax, dword [edx + 0x14]
mov ecx, dword [esi + 0x2b38]
imul eax, eax, 0x58
mov edx, dword [eax + ecx + 0xc]
jmp 0x4c6273
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x138]
mov ecx, dword [eax + ebp*4]
mov ecx, dword [ecx + 0x14]
mov ebp, dword [esi + 0x2b38]
mov eax, ecx
imul eax, eax, 0x58
add eax, ebp
mov ebp, dword [eax + 0x18]
push ebp
mov ebp, dword [eax + 0x50]
push ebp
mov ebp, dword [eax + 0x48]
push ebp
mov ebp, dword [eax + 0x44]
push ebp
mov ebp, dword [eax + 0x4c]
push ebp
mov ebp, dword [eax + 0x38]
push ebp
mov ebp, dword [eax + 0x34]
push ebp
mov ebp, dword [eax + 0x30]
push ebp
mov ebp, dword [eax + 0x2c]
push ebp
mov ebp, dword [eax + 0x28]
push ebp
mov ebp, dword [eax + 0x24]
push ebp
mov ebp, dword [eax + 0x40]
push ebp
mov ebp, dword [eax + 0x3c]
push ebp
mov ebp, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
push ebp
push eax
push ebx
push edi
push edx
push ecx
push esi
call fcn.004c2d90
mov ecx, dword [esi + 0x138]
mov ebp, dword [esp + 0x74]
mov edx, dword [ecx + ebp*4]
add esp, 0x50
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x2c]
add ebp, 1
cmp ebp, eax
mov dword [esp + 0x24], ebp
jle 0x4c6060
mov ebp, dword [esp + 0x10]
add dword [esi + 0x114], 1
cmp dword [esi + 0x39b0], 0
jne 0x4c631a
cmp ebp, dword [esi + 0x3a00]
jge 0x4c631a
mov dword [esi + 0x3a00], ebp
cmp dword [esp + 0x3c], 0
je 0x4c63b5
push esi
call fcn.004de3e0
add esp, 4
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14
cmp ebx, 0xffffffff
je 0x4c635c
mov ecx, dword [esi + 0x39a4]
mov edx, dword [esi + 0x3894]
imul ecx, ecx, 0x10c
mov ebx, dword [esp + 0x14]
mov dword [ecx + edx + 0x78], ebx
cmp dword [esp + 0x34], 0xffffffff
je 0x4c637d
mov ecx, dword [esi + 0x39a4]
mov edx, dword [esi + 0x3894]
imul ecx, ecx, 0x10c
mov ebx, dword [esp + 0x18]
mov dword [ecx + edx + 0x7c], ebx
cmp edi, 0xffffffff
je 0x4c639b
mov ecx, dword [esi + 0x39a4]
mov edx, dword [esi + 0x3894]
imul ecx, ecx, 0x10c
mov dword [ecx + edx + 0x80], eax
push 0
push esi
call fcn.005119e0
add esp, 8
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14
sub eax, ebp
add eax, 0xa
push eax
push ebp
push esi
call fcn.00520c30
add esp, 0xc
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14