Function at 0x4c63e0
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 0x4c640c
pop edi
xor eax, eax
pop esi
add esp, 0x18
ret 0x14
cmp dword [esi + 0x14], edi
je 0x4c6402
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x14]
push edx
push esi
call fcn.004c0980
add esp, 0xc
cmp dword [esi + 0x39b0], edi
jne 0x4c6443
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
push 0x50
push edi
push eax
push edi
push ecx
push esi
call fcn.004fa650
add esp, 0x18
cmp dword [esi + 0x39b0], edi
push ebx
je 0x4c6471
mov edx, dword [esi + 0x39a4]
mov eax, dword [esi + 0x3894]
imul edx, edx, 0x10c
mov edi, dword [eax + edx + 0x78]
mov ecx, dword [eax + edx + 0x7c]
mov ebx, dword [eax + edx + 0x80]
add eax, edx
jmp 0x4c649a
mov ecx, dword [esi + 0x5d8]
mov edx, dword [esi + 0x138]
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax + 0x14]
mov edx, dword [esi + 0x2b38]
imul ecx, ecx, 0x58
mov edi, dword [ecx + edx + 0xc]
mov ebx, dword [ecx + edx + 0x14]
lea eax, [ecx + edx]
mov ecx, dword [eax + 0x10]
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
add edi, dword [esp + 0x2c]
add ebx, dword [esp + 0x34]
push ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov ecx, ebp
cmp ecx, eax
mov dword [esp + 0x10], ebp
jg 0x4c6785
push ebp
push esi
call fcn.004f5090
add esp, 8
test eax, eax
je 0x4c676c
cmp dword [esi + 0x39b0], 0
jne 0x4c650f
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 ecx, dword [eax + edx + 0x10]
add ecx, dword [esp + 0x34]
mov edi, dword [eax + edx + 0xc]
mov ebx, dword [eax + edx + 0x14]
add edi, dword [esp + 0x30]
add eax, edx
add ebx, dword [esp + 0x38]
mov dword [esp + 0x2c], ecx
cmp edi, 0x21c0
jle 0x4c651e
mov edi, 0x21c0
jmp 0x4c6526
test edi, edi
jge 0x4c6526
add ebx, edi
xor edi, edi
mov eax, dword [esp + 0x2c]
cmp eax, 0x21c0
jle 0x4c653b
mov dword [esp + 0x2c], 0x21c0
jmp 0x4c6547
test eax, eax
jge 0x4c6547
mov dword [esp + 0x2c], 0
cmp ebx, 0x21c0
jle 0x4c6554
mov ebx, 0x21c0
lea ecx, [ebx + edi]
test ecx, ecx
jge 0x4c655f
mov ebx, edi
neg ebx
cmp dword [esi + 0xa114], 0
je 0x4c65a5
mov dl, byte [esi + 0xa15c]
and dl, 2
neg dl
sbb edx, edx
and edx, 0xffffffed
add edx, 0x5a
mov ebp, edx
push ebp
push edi
call fcn.004e08e0
mov edi, eax
mov eax, dword [esp + 0x34]
push ebp
push eax
call fcn.004e08e0
push ebp
push ebx
mov dword [esp + 0x44], eax
call fcn.004e08e0
mov ebp, dword [esp + 0x28]
add esp, 0x18
mov ebx, eax
cmp dword [esi + 0x39b0], 0
jne 0x4c67c2
mov ecx, dword [esi + 0xa160]
test ecx, 0x4000000
je 0x4c662d
cmp dword [esp + 0x30], 0
je 0x4c662d
mov edx, dword [esi + 0x138]
mov eax, dword [edx + ebp*4]
mov eax, dword [eax + 0x30]
test eax, eax
mov dword [esp + 0x24], eax
jle 0x4c662d
cmp eax, dword [esp + 0x1c]
je 0x4c676c
mov ecx, dword [esi + 0x72c]
imul eax, eax, 0x98
mov edx, dword [eax + ecx + 4]
mov ebp, dword [esp + 0x30]
lea ecx, [eax + ecx + 4]
add ebp, edx
test edx, edx
mov dword [ecx], ebp
jl 0x4c661c
mov edx, dword [esi + 0x72c]
cmp dword [eax + edx + 4], 0
lea eax, [eax + edx + 4]
jge 0x4c661c
mov dword [eax], 0
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x4c676c
test ecx, 0x8000000
je 0x4c66fa
cmp dword [esp + 0x30], 0
je 0x4c66fa
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + ebp*4]
mov eax, dword [edx + 0x2c]
test eax, eax
jle 0x4c66fa
mov ecx, dword [esi + 0x588c]
imul eax, eax, 0x84
mov eax, dword [eax + ecx + 4]
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
je 0x4c676c
mov edx, dword [esi + 0x5884]
imul eax, eax, 0x68
mov ebp, dword [esp + 0x30]
lea ecx, [eax + edx + 0x20]
mov edx, dword [ecx]
add ebp, edx
test edx, edx
mov dword [ecx], ebp
jl 0x4c66a8
mov ecx, dword [esi + 0x5884]
cmp dword [eax + ecx + 0x20], 0
lea ecx, [eax + ecx + 0x20]
jge 0x4c66a8
mov dword [ecx], 0
mov edx, dword [esi + 0x5884]
lea ecx, [eax + edx]
mov eax, dword [ecx + 8]
test eax, eax
mov edx, dword [ecx + 0x20]
jle 0x4c66ec
mov ecx, dword [esi + 0x588c]
jmp 0x4c66d0
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 0x4c66d0
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x20], eax
jmp 0x4c676c
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + ebp*4]
mov ecx, dword [edx + 0x14]
mov edx, dword [esi + 0x2b38]
mov eax, ecx
imul eax, eax, 0x58
add eax, edx
mov edx, dword [eax + 0x18]
push edx
mov edx, dword [eax + 0x50]
push edx
mov edx, dword [eax + 0x48]
push edx
mov edx, dword [eax + 0x44]
push edx
mov edx, dword [eax + 0x4c]
push edx
mov edx, dword [eax + 0x38]
push edx
mov edx, dword [eax + 0x34]
push edx
mov edx, dword [eax + 0x30]
push edx
mov edx, dword [eax + 0x2c]
push edx
mov edx, dword [eax + 0x28]
push edx
mov edx, dword [eax + 0x24]
push edx
mov edx, dword [eax + 0x40]
push edx
mov edx, dword [eax + 0x3c]
push edx
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
push edx
mov edx, dword [esp + 0x64]
push eax
push ebx
push edx
push edi
push ecx
push esi
call fcn.004c2d90
mov ecx, dword [esi + 0x138]
mov edx, dword [ecx + ebp*4]
add esp, 0x50
mov dword [edx + 0x14], eax
add ebp, 1
cmp ebp, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
jle 0x4c64c1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add dword [esi + 0x114], 1
cmp dword [esi + 0x39b0], 0
jne 0x4c67a3
cmp ecx, dword [esi + 0x3a00]
jge 0x4c67a3
mov dword [esi + 0x3a00], ecx
cmp dword [esp + 0x3c], 0
je 0x4c6825
push esi
call fcn.004de3e0
add esp, 4
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14
mov eax, dword [esi + 0x39a4]
mov ecx, dword [esi + 0x3894]
imul eax, eax, 0x10c
mov dword [eax + ecx + 0x78], edi
mov edx, dword [esi + 0x39a4]
mov eax, dword [esi + 0x3894]
imul edx, edx, 0x10c
mov ecx, dword [esp + 0x2c]
mov dword [edx + eax + 0x7c], ecx
mov edx, dword [esi + 0x39a4]
mov eax, dword [esi + 0x3894]
imul edx, edx, 0x10c
push 0
push esi
mov dword [edx + eax + 0x80], ebx
call fcn.005119e0
add esp, 8
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14
sub eax, ecx
add eax, 0xa
push eax
push ecx
push esi
call fcn.00520c30
add esp, 0xc
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 0x14