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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4cb05e
sub esp, 0x58
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4cb01f
cmp eax, 1
je 0x4caf8e
lea ecx, [eax - 1]
mov edx, dword [esp + 0x6c]
mov ebx, edx
imul edx, ecx
mov ebp, dword [esp + 0x5c]
mov esi, ebp
xor edi, edi
jmp 0x4cadc7
add ebp, 0xc
inc edi
add edx, dword [ebp + 4]
cmp edi, eax
jl 0x4cadc4
mov dword [esp + 0x38], ecx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00437b80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
cmp ecx, esi
jle 0x4caf87
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x24], esi
cmp ebp, edx
je 0x4cae2a
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0044be80
mov eax, dword [esp + 0x64]
dec eax
neg eax
sar eax, 0x1f
and eax, 0xc
mov ecx, dword [esp + 0x5c]
add eax, ecx
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x4caf5c
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
jmp 0x4cae9e
mov ebx, dword [esp + 0x54]
add ebx, 0xc
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, ebp
mov ebp, edi
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
mov eax, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x54], eax
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
cmp eax, ebp
ja 0x4cb050
sub ebp, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
add ebx, esi
cmp ebp, edx
jle 0x4caf7c
mov ebp, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
cmp ebx, edi
je 0x4caeea
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.0044be80
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, ecx
mov ecx, dword [esp + 0x28]
cmp eax, ecx
ja 0x4cb049
mov edx, ecx
sub ecx, eax
mov ebx, dword [esp + 0x2c]
mov ebp, ebx
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
mov esi, dword [esp + 0x48]
add ebx, esi
mov edi, dword [esp + 0x20]
cmp ecx, edi
jle 0x4caf78
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x44]
cmp ebx, ecx
je 0x4caf41
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0044be80
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add ecx, edx
mov edx, dword [esp + 0x38]
cmp eax, edx
jl 0x4cae6d
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov edi, ecx
jmp 0x4caf21
mov edx, ebp
mov ebp, dword [esp + 0x6c]
jmp 0x4caece
mov esi, ecx
jmp 0x4cae06
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov eax, dword [eax]
test ecx, ecx
ja 0x4cafdf
xor edx, edx
xor ebx, ebx
cmp ecx, ebx
ja 0x4cb057
mov dword [esp + 0x50], edx
mov dword [esp + 0x34], ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044be80
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov dword [esp + 0x4c], eax
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], ecx
call fcn.00437c50
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x38]
jmp 0x4cafa3
lea eax, [0x5d5c00]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x58
ret
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.004cad80