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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x4ce3fe
sub esp, 0xb8
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe4]
mov edx, eax
sub eax, ecx
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x4ce3f7
nop
mov ebp, dword [esp + 0xe0]
mov esi, dword [ebp + ecx*4 - 4]
nop
nop
nop
cmp esi, 0x10000
jb 0x4ce380
shr esi, 0x10
mov edi, 0x10
cmp esi, 0x100
jb 0x4cdbbe
shr esi, 8
add edi, 8
cmp esi, 0x100
jae 0x4ce3f0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x68], edi
lea eax, [0x70d060]
movzx eax, byte [eax + esi]
mov dword [esp + 0x70], eax
mov dword [esp], ecx
call fcn.004cda10
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [eax]
mov dword [esp + 0xa4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x50], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xe0]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
lea esi, [edi + esi - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x18], esi
call fcn.004d39b0
nop
mov eax, dword [esp + 0xd8]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xd0]
cmp ecx, edx
jg 0x4ce30b
test ecx, ecx
jl 0x4ce3e9
mov ebx, dword [esp + 0xc8]
cmp eax, edx
ja 0x4ce3e2
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
call fcn.004d39b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jae 0x4ce3db
mov ebx, dword [esp + 0xb0]
mov dword [ebx + ecx*4], eax
nop
mov eax, dword [esp + 0xc4]
test eax, eax
jle 0x4ce2f9
lea ecx, [eax - 1]
cmp ecx, eax
jae 0x4ce3d4
mov ecx, dword [esp + 0xbc]
lea ebp, [ecx + eax*4 - 4]
mov esi, dword [esp + 0x40]
lea edi, [esi - 1]
cmp edi, esi
jae 0x4ce3d4
lea edi, [ebx + esi*4 - 4]
cmp ebp, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ce2eb
xor eax, eax
xor ecx, ecx
nop
mov ebp, dword [esp + 0x6c]
lea edi, [ebp + 1]
cmp edi, ecx
jg 0x4ce284
test edi, edi
jl 0x4ce3cd
mov dword [esp + 0x30], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0xe4]
lea ebx, [edx + 1]
mov dword [esp], ebx
call fcn.004cda10
mov eax, dword [esp + 4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
cmp ebp, esi
jae 0x4ce3c6
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], ebx
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0xa4]
mov eax, dword [edi + ebp*4 - 4]
mov dword [esp + 0x48], eax
jmp 0x4cdfd0
mov dword [esp + 0x80], eax
mov dword [esp + 0x54], edi
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.004d3890
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
nop
mov esi, dword [esp + 0x64]
cmp eax, esi
jbe 0x4ce13f
mov eax, 1
test al, al
je 0x4ce132
mov eax, dword [esp + 0x60]
dec eax
mov ecx, dword [esp + 0x48]
lea edi, [esi + ecx]
cmp edi, esi
jae 0x4cddc2
mov ebp, dword [esp + 0x5c]
cmp edx, ebp
ja 0x4ce3a3
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
call fcn.004d3a50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x58]
cmp ecx, edx
jae 0x4ce39c
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x6c]
lea ebp, [eax + edx]
test ebp, ebp
jl 0x4ce395
cmp eax, ebp
ja 0x4ce395
mov esi, dword [esp + 0x40]
cmp ebp, esi
ja 0x4ce395
sub esi, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
shl eax, 2
sar esi, 0x1f
and esi, eax
mov eax, dword [esp + 0xb0]
add esi, eax
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x3c]
cmp ebp, eax
ja 0x4ce395
mov dword [esp + 0x7c], edi
mov dword [esp + 0xb4], esi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
sub eax, ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
call fcn.004d3910
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4ce0ae
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x4ce387
mov ebx, dword [esp + 0xac]
mov dword [ebx + ecx*4], eax
lea eax, [ecx - 1]
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xe4]
mov esi, edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
test edx, edx
jl 0x4ce164
lea esi, [ebp + edx]
mov edi, dword [esp + 0x3c]
cmp esi, edi
jae 0x4ce3bf
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0xb0]
mov esi, dword [ebx + esi*4]
cmp esi, eax
je 0x4ce152
lea ecx, [edx + ebp - 1]
cmp ecx, edi
jae 0x4ce3b8
mov ecx, dword [ebx + ecx*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004d38b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xe4]
lea ebx, [edx - 2]
mov ebp, dword [esp + 0x4c]
cmp ebx, ebp
jae 0x4ce3b1
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xa4]
mov ebx, dword [ecx + edx*4 - 8]
mov dword [esp + 0x44], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004d3890
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx + edx - 2]
mov esi, dword [esp + 0x3c]
cmp ebp, esi
jae 0x4ce3aa
mov edi, dword [esp + 0xb0]
mov ebp, dword [edi + ebp*4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x94]
jmp 0x4cde41
mov eax, dword [esp + 0x74]
test eax, eax
jl 0x4ce38e
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
ja 0x4ce38e
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
call fcn.004d38d0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + eax*4]
add edx, dword [esp + 0x24]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x60]
dec eax
jmp 0x4cdf79
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
jmp 0x4cde6f
jne 0x4ce14b
cmp ecx, ebp
seta al
jmp 0x4cde53
xor eax, eax
jmp 0x4cde53
mov ecx, eax
mov edx, ebp
mov ebx, dword [esp + 0x6c]
mov eax, 0xffffffff
jmp 0x4cde6f
nop
lea eax, [0x727b68]
mov dword [esp], eax
lea ecx, [0x5c3e80]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.00451ea0
nop
lea eax, [0x727b68]
mov dword [esp], eax
lea eax, [0x5c3e80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.00451ea0
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
call fcn.004ca4a0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x18], edi
call fcn.004d3a00
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.004ca4a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xb8
ret
test ebp, ebp
jne 0x4ce2b9
lea eax, [0x5974e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00438f10
mov eax, dword [esp + 0xc]
mov ecx, 1
mov edi, 1
jmp 0x4cdd54
mov dword [esp + 0x2c], edi
lea eax, [0x5974e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [ebp + 5]
mov dword [esp + 0x30], eax
mov dword [esp + 8], eax
call fcn.00438f10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x4cdd54
mov eax, ecx
mov ecx, dword [esp + 0xc4]
jmp 0x4cdd3c
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x40]
xor ebp, ebp
jmp 0x4cdd2e
test eax, eax
jne 0x4ce347
lea eax, [0x5974e0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00438f10
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xd8]
mov ecx, 1
mov edx, 1
jmp 0x4cdc82
mov dword [esp + 0x28], ecx
lea edx, [0x5974e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ebx, [eax + 5]
mov dword [esp + 0x34], ebx
mov dword [esp + 8], ebx
call fcn.00438f10
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
jmp 0x4cdc82
xor edi, edi
jmp 0x4cdbb0
call fcn.00427000
ud2
call fcn.00427100
ud2
call fcn.00427100
ud2
call fcn.00427000
ud2
call fcn.00427100
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.00427100
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.00427100
ud2
call fcn.00427100
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.0044b750
jmp fcn.004cdb50