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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4cf95d
sub esp, 0xb0
mov edx, dword [0x666998]
mov ecx, dword [0x666994]
mov ebx, dword [str._n_____BEGIN]
cmp ecx, 1
jb 0x4cf952
dec edx
neg edx
sar edx, 0x1f
and edx, 1
add edx, ebx
lea ebx, [ecx - 1]
mov ecx, dword [esp + 0xb8]
cmp ecx, ebx
jge 0x4cf8d2
xor eax, eax
test al, al
je 0x4cf811
mov edx, dword [0x666994]
lea eax, [edx - 1]
cmp eax, ecx
ja 0x4cf94d
sub ecx, eax
mov ebx, dword [esp + 0xbc]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0xb4]
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004ceb20
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xac], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x94], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x30], esi
mov edi, dword [0x666984]
mov eax, dword [0x666980]
cmp esi, edi
jl 0x4cf80a
mov dword [esp + 0x64], edi
sub esi, edi
mov edi, dword [esp + 0x30]
cmp esi, edi
ja 0x4cf93f
sub edi, esi
sub ebx, esi
neg ebx
sar ebx, 0x1f
and ebx, esi
add ebx, ebp
mov esi, dword [esp + 0x64]
cmp esi, edi
je 0x4cf7de
xor eax, eax
test al, al
je 0x4cf776
mov eax, dword [0x666984]
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov eax, dword [esp + 0x70]
cmp ebx, eax
ja 0x4cf936
mov dword [esp + 0x68], ebx
call fcn.0040b250
mov eax, dword [esp]
mov dword [esp + 0xa8], eax
lea ecx, [0x5477e0]
mov dword [esp], ecx
call fcn.0040a710
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [0x67bf10]
test ecx, ecx
jne 0x4cf762
mov ecx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
mov dword [esp], 0
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
call fcn.00443970
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0xa4]
mov dword [edi + 4], ecx
mov ecx, dword [0x67bf10]
test ecx, ecx
jne 0x4cf758
mov dword [edi], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
jmp 0x4cef2b
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
test ecx, ecx
je 0x4cf71c
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x7c], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ceb20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc]
mov dword [esp + 0x8c], esi
nop
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 0x3a
call fcn.004024a0
mov ecx, dword [esp + 0x10]
cmp ecx, 0xffffffff
je 0x4cf0f7
mov edx, dword [esp + 0x54]
cmp ecx, edx
ja 0x4cf931
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x6c]
cmp eax, ebx
ja 0x4cf92a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b3140
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x8c]
add eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x50], ebp
mov esi, dword [esp + 0xc]
mov dword [esp + 0x8c], esi
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004b3140
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00443970
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 8]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
mov dword [esp], 0
mov ebp, dword [esp + 0x8c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
call fcn.00443970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [0x53c160]
mov dword [esp], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0040e5d0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0x67bf10]
test eax, eax
jne 0x4cf0e6
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
jmp 0x4cef15
mov eax, dword [esp + 0x9c]
call fcn.00455bf0
jmp 0x4cef15
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x4cf715
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4cf70a
mov ebx, dword [0x666978]
mov ecx, dword [0x666974]
mov ebp, dword [str._n_____END]
cmp ecx, 1
jb 0x4cf920
dec ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, ebp
lea ebp, [ecx - 1]
mov ecx, dword [esp + 0x2c]
cmp ecx, ebp
jge 0x4cf6e1
xor eax, eax
test al, al
je 0x4cf68e
mov ebx, dword [0x666974]
dec ebx
xor eax, eax
test eax, eax
jl 0x4cf622
cmp ebx, ecx
ja 0x4cf919
mov ebp, ecx
sub ecx, ebx
mov esi, dword [esp + 0x3c]
sub esi, ebx
mov dword [esp + 0x38], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
mov esi, dword [esp + 0x7c]
add ebx, esi
mov edx, dword [0x666984]
mov edi, dword [esp + 0x68]
add edx, edi
cmp ecx, edx
jl 0x4cf5ba
cmp edx, ecx
ja 0x4cf912
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], edx
sub ecx, edx
mov dword [esp + 0x40], ecx
mov ebp, dword [esp + 0x38]
sub ebp, edx
mov dword [esp + 0x44], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
add ebp, ebx
mov dword [esp + 0x84], ebp
cmp edx, edi
jge 0x4cf574
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
je 0x4cf56a
mov edi, dword [0x666984]
mov esi, dword [0x666980]
cmp edx, edi
jl 0x4cf563
mov dword [esp + 0x98], esi
sub edx, edi
mov esi, dword [esp + 0x34]
cmp edx, esi
ja 0x4cf909
sub esi, edx
mov eax, dword [esp + 0x38]
sub eax, edx
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [edx + ebx]
cmp edi, esi
je 0x4cf537
xor eax, eax
xor eax, 1
test al, al
jne 0x4cf4c7
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.004ceb20
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4cf457
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x4cf904
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004cec50
mov eax, dword [0x66a19c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
cmp dword [eax + 0x140], 0xffffffff
jne 0x4cf44c
lea eax, [ebx + ebx*2]
mov ebp, eax
shl eax, 1
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ebp*2]
sar eax, 3
mov dword [esp + 0x28], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00440360
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [0x67bf10]
test ebx, ebx
jne 0x4cf43f
mov dword [edx + 0xc], eax
mov eax, dword [0x66a19c]
mov ebx, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
call fcn.004ce450
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4cf3cf
mov ebx, dword [esp + 0xa4]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
ja 0x4cf8ff
mov dword [ebx + 0x10], ecx
mov edx, dword [0x666974]
mov ebp, dword [esp + 0x58]
lea eax, [ebp + edx - 1]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
ja 0x4cf8fa
mov edx, dword [esp + 0x3c]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x7c]
add edx, ebp
mov dword [esp], edx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004ceb20
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
lea edi, [edx + 0xc]
call fcn.00455bf0
jmp 0x4cf2fb
shr ebx, 2
lea eax, [ebx + ebx*2]
jmp 0x4cf2bb
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00402380
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x84]
jmp 0x4cf22b
xor eax, eax
jmp 0x4cf22b
mov eax, 1
jmp 0x4cf22e
mov dword [esp + 0x80], ebx
mov dword [esp], ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00402380
movzx edi, byte [esp + 0xc]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x7c]
jmp 0x4cf1dc
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ecx
add esp, 0xb0
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ecx
add esp, 0xb0
ret
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
mov ebx, dword [0x666978]
mov ebp, dword [0x666974]
mov esi, dword [str._n_____END]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.004b3310
mov eax, dword [esp + 0x18]
mov ecx, dword [0x666974]
lea ebx, [ecx + eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xa4]
jmp 0x4cf15b
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00402380
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xa4]
jmp 0x4cf14a
mov ecx, dword [esp + 0x2c]
xor eax, eax
jmp 0x4cf14a
xor ebx, ebx
jmp 0x4cf10b
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
call fcn.00455bf0
jmp 0x4cef04
lea edi, [eax + 8]
mov eax, dword [esp + 0xa8]
call fcn.00455bf0
jmp 0x4ceebb
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
call fcn.004cf970
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebx
add esp, 0xb0
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00402380
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
mov ebp, dword [esp + 0x94]
jmp 0x4cee57
xor eax, eax
jmp 0x4cee57
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
mov ebx, dword [0x666998]
mov ebp, dword [0x666994]
mov esi, dword [str._n_____BEGIN]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.004b3310
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x4cf896
mov edx, dword [0x666994]
add eax, edx
mov ecx, dword [esp + 0xb8]
cmp eax, ecx
ja 0x4cf948
sub ecx, eax
mov esi, dword [esp + 0xbc]
sub esi, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov ebp, dword [esp + 0xb4]
add eax, ebp
mov esi, edi
mov ebx, eax
jmp 0x4cedd0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
add esp, 0xb0
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00402380
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xb8]
jmp 0x4ced9a
call fcn.00455cd0
call fcn.00455cb0
call fcn.00455cb0
mov eax, edx
mov ecx, esi
call fcn.00455cd0
mov eax, edx
call fcn.00455cd0
mov eax, ebx
call fcn.00455cd0
mov eax, 1
call fcn.00455cd0
mov ecx, ebx
call fcn.00455cd0
call fcn.00455cb0
mov ecx, ebx
mov edx, eax
call fcn.00455cb0
mov eax, esi
mov ecx, edi
call fcn.00455cd0
call fcn.00455cd0
call fcn.00455cd0
mov eax, 1
call fcn.00455cd0
nop
call fcn.004543b0
jmp fcn.004ced40