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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x4cf2a6
sub esp, 0xa8
mov eax, dword [esp + 0xac]
cmp byte [eax + 0x49], 0xff
je 0x4cf229
lea eax, [0x97bfc0]
mov dword [esp], eax
call fcn.00469600
mov eax, dword [esp + 8]
lea ecx, [0x6515e0]
cmp dword [esp + 4], ecx
jne 0x4cf21f
jne 0x4cf208
mov dword [esp + 0x74], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xd0]
cmp edx, ecx
jl 0x4cf1b9
cmp ecx, edx
ja 0x4cf2a0
mov dword [eax + 0x28], ecx
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x4cea29
mov dword [ebx + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x4cea3c
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x28]
cmp ecx, ebp
jb 0x4cea21
jmp 0x4cf297
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x4cf131
nop
mov dword [eax + 0x14], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4cf119
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
mov dword [eax + 0x20], 0
lea ecx, [eax + 0x14]
lea edx, [0x721520]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x40], edx
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
cmp eax, 0xffffffff
jne 0x4cf0e5
mov edx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], edx
mov ebp, dword [esp + 0xcc]
test ebp, ebp
jne 0x4cf0ad
nop
mov esi, eax
mov edi, 0xffffffff
mov edx, dword [esp + 0xac]
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp edx, ebx
jae 0x4cf28e
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edi
lea ebx, [edx + edx*8]
lea ebx, [ebp + ebx*4]
mov ebp, edi
lea edi, [esp + 0x84]
mov esi, ebx
call fcn.00450a36
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x4cf079
xor ebx, ebx
test bl, bl
je 0x4cf06b
mov ebx, dword [esp + 0xac]
mov esi, ebx
mov ebx, dword [ebx + 0x28]
test ebx, ebx
jg 0x4cf037
xor ebx, ebx
test bl, bl
jne 0x4cef62
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
jmp 0x4ceb8f
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
mov eax, edx
mov edx, ecx
mov ecx, ebp
mov ebp, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebx
mov ebx, dword [esi + 0xc]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp edx, ebx
jae 0x4cf285
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x28], edi
lea edx, [edx + edx*8]
lea edx, [ebp + edx*4]
mov ebx, edi
lea edi, [esp + 0x84]
mov ebp, esi
mov esi, edx
call fcn.00450a36
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x58], ecx
movzx edx, byte [esp + 0x84]
cmp dl, 5
ja 0x4cee38
mov dword [esp + 0x54], eax
cmp dl, 2
ja 0x4cec8a
cmp dl, 1
jbe 0x4cec44
mov edx, dword [esp + 0x8c]
mov esi, ebp
mov ebp, dword [esp + 0x74]
mov edi, ebx
mov ebx, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x28]
cmp edx, ebp
jge 0x4cec3b
jae 0x4cf251
mov ebp, dword [esp + 0xcc]
mov dword [ebx + edx*4], ebp
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x48]
jmp 0x4ceb6f
mov ebp, dword [esp + 0xcc]
jmp 0x4cec22
lea eax, [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.004cf8d0
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0xcc]
jmp 0x4ceb6f
cmp dl, 3
jne 0x4cedf5
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x8c]
mov byte [esp + 8], dl
call fcn.004cd7c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4cece6
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0xcc]
jmp 0x4ceb6f
xor eax, eax
test al, al
je 0x4cedc1
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xd8]
lea ebx, [edx + ecx]
mov dword [esp + 0x50], ebx
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xdc]
cmp ebx, esi
ja 0x4ced78
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x80], edi
mov dword [esp + 0xdc], esi
lea eax, [edi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.00450c80
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe8], eax
add esp, 0xa8
ret
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x7c], ebp
lea eax, [0x6684e0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043bd10
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x7c]
jmp 0x4ced1a
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xa8
ret
cmp dl, 4
jne 0x4cee31
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x28]
test ebp, ebp
jle 0x4cee27
mov dword [ebx], 0
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x24]
cmp ecx, 1
jbe 0x4cf263
mov eax, dword [esp + 0xcc]
mov dword [ebx + 4], eax
mov eax, 1
jmp 0x4cece8
xor eax, eax
jmp 0x4cece8
cmp dl, 7
ja 0x4cef0d
cmp dl, 6
jne 0x4cee6c
mov esi, ebp
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0xcc]
mov edx, dword [esp + 0x48]
jmp 0x4ceb6f
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004c3d90
cmp dword [esp + 8], 0xffffffff
je 0x4cef06
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4ceeff
mov ebx, dword [esp + 0xcc]
add edx, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, 0xffffffff
jne 0x4ceece
mov eax, ebx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xac]
mov edi, ebx
mov dword [esp + 0x38], eax
mov ebp, edx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
jmp 0x4ceb6f
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0x20]
lea esi, [edx + ebp]
mov dword [esp + 4], esi
call ecx
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
jmp 0x4ceeaa
xor eax, eax
jmp 0x4cece8
xor eax, eax
jmp 0x4cece8
cmp dl, 8
jne 0x4cef3c
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
test edx, edx
jbe 0x4cf25a
mov edx, dword [esp + 0x34]
cmp dword [ebp], edx
je 0x4cee8a
xor eax, eax
jmp 0x4cece8
cmp dl, 9
je 0x4cee8a
cmp dl, 0xa
jne 0x4cf26d
mov edx, dword [esp + 0x34]
cmp edx, 0xa
jne 0x4cee8a
xor eax, eax
jmp 0x4cece8
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], esi
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x4cf030
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
add ecx, esi
mov dword [esp + 0xcc], ecx
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
lea edi, [esi + ecx]
mov dword [esp + 4], edi
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov esi, dword [esp + 0xcc]
mov dword [esp + 4], esi
call ebx
mov eax, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0xac]
mov edx, dword [esi + 0x3c]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
jmp 0x4ceb5d
xor eax, eax
jmp 0x4cece8
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call ecx
movzx ebx, byte [esp + 4]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0xac]
jmp 0x4ceb41
mov esi, dword [esp + 0xac]
xor ebx, ebx
jmp 0x4ceb41
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x8c]
mov byte [esp + 8], cl
call fcn.004cd7c0
movzx ebx, byte [esp + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x48]
jmp 0x4ceb23
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ebp
call ecx
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x2c]
jmp 0x4cead5
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebp, dword [esp + 0xcc]
lea esi, [ebp + ecx]
mov dword [esp + 4], esi
call edx
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
jmp 0x4ceab6
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.004502f0
mov eax, ecx
jmp 0x4cea67
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4cf177
nop
mov edx, dword [esp + 0xbc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [eax + 8], edx
mov edx, dword [0x98ef80]
test edx, edx
jne 0x4cf16a
mov dword [eax], ecx
mov ecx, eax
lea edx, [0x7214e0]
jmp 0x4cea7b
mov edi, eax
mov eax, ecx
call fcn.004502f0
mov eax, edi
jmp 0x4cf15d
nop
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4cf1a4
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
lea ecx, [eax + 0xc]
lea edx, [0x721560]
jmp 0x4cea7b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.004502f0
mov eax, ecx
jmp 0x4cf196
lea eax, [0x6684e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043bc50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xd0]
mov edi, dword [esp + 0x74]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x98ef80]
test ecx, ecx
jne 0x4cf1f8
mov dword [edi + 0x24], eax
mov eax, edi
jmp 0x4cea1a
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.004502f0
mov edi, ecx
jmp 0x4cf1f1
lea eax, [0x67fa80]
mov dword [esp], eax
call fcn.0040a3f0
mov eax, dword [esp + 4]
jmp 0x4ce9f9
mov eax, 0
jmp 0x4ce9f3
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
add esp, 0xa8
ret
mov eax, edx
mov ecx, ebp
call fcn.00450380
xor eax, eax
mov ecx, edx
call fcn.00450370
mov eax, 1
call fcn.00450370
lea eax, [0x6690a0]
mov dword [esp], eax
lea eax, [0x71a918]
mov dword [esp + 4], eax
call fcn.0042a4d0
mov eax, edx
mov ecx, ebx
call fcn.00450370
mov eax, edx
mov ecx, ebx
call fcn.00450370
mov eax, ecx
mov ecx, ebp
call fcn.00450370
call fcn.004503b0
nop
call fcn.0044eab0
jmp fcn.004ce9a0