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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c7fdc
sub esp, 0x68
mov eax, dword [esp + 0x70]
cmp eax, 1
jle 0x4c7f87
cmp eax, 2
je 0x4c7f32
cmp eax, 3
je 0x4c7ec7
lea ecx, [eax - 1]
mov edx, dword [esp + 0x7c]
mov ebx, edx
imul edx, ecx
mov ebp, dword [esp + 0x6c]
xor esi, esi
jmp 0x4c7cd2
lea edi, [esi + 1]
mov dword [esp + 0x38], edi
lea edi, [ebp + esi*8]
mov edi, dword [edi + 4]
add edx, edi
mov edi, dword [esp + 0x38]
mov esi, edi
cmp esi, eax
jge 0x4c7cdd
jb 0x4c7cbc
jmp 0x4c7fd5
mov dword [esp + 0x50], ecx
lea eax, [0x731080]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jbe 0x4c7fce
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
cmp ecx, ebp
jle 0x4c7ec0
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x3c], ebp
cmp edx, esi
je 0x4c7d44
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044d1e0
mov eax, dword [esp + 0x74]
dec eax
neg eax
sar eax, 0x1f
and eax, 8
mov ecx, dword [esp + 0x6c]
add eax, ecx
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
jmp 0x4c7dc4
mov eax, dword [esp + 0x4c]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
add ecx, edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x50]
mov edx, ebx
mov ebx, esi
mov ebp, edi
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
cmp ebx, ebp
jge 0x4c7e8e
lea eax, [eax + ebx*8]
mov ebp, dword [eax + 4]
mov eax, dword [eax]
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
ja 0x4c7fc7
sub edx, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ecx, ebx
add ecx, esi
cmp edx, edi
jle 0x4c7e83
mov edx, edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0x78]
cmp ecx, edx
je 0x4c7e1f
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0044d1e0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
add eax, ecx
mov ecx, dword [esp + 0x40]
cmp eax, ecx
ja 0x4c7fc0
mov edx, ecx
sub ecx, eax
mov ebx, dword [esp + 0x44]
mov ebp, ebx
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
mov esi, dword [esp + 0x60]
add ebx, esi
mov edi, dword [esp + 0x34]
cmp ecx, edi
jle 0x4c7e7f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x5c]
cmp ebx, ecx
je 0x4c7d83
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0044d1e0
jmp 0x4c7d83
mov edi, ecx
jmp 0x4c7e56
mov edi, edx
mov edx, dword [esp + 0x7c]
jmp 0x4c7dfb
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.0043be60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x68
ret
mov ebp, ecx
jmp 0x4c7d20
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], esi
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
call fcn.0043be00
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
call fcn.0043bd40
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x68
ret
test eax, eax
jne 0x4c7fa5
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x68
ret
call fcn.004267e0
ud2
call fcn.004267e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.0044b280
jmp fcn.004c7c70