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

Disassembly:
mov ecx, dword [0x68cdd8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x6cc]
cmp eax, dword [ecx + 8]
jbe 0x4cb6c3
sub esp, 0x74c
mov ebx, dword [esp + 0x75c]
mov ebp, dword [ebx]
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x754]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 8]
cmp edx, ecx
jb 0x4cb6bd
mov dword [esp + 0x24], eax
mov edi, ebx
mov ebx, dword [esp + 0x758]
mov eax, dword [ebx + 8]
cmp eax, ecx
jb 0x4cb6b6
mov ebp, dword [ebp]
mov dword [esp + 0x738], ebp
mov esi, dword [esi]
mov dword [esp + 0x73c], esi
mov ebx, dword [ebx]
mov dword [esp + 0x748], ebx
cmp ecx, 0x20
jg 0x4cacb3
cmp ecx, 8
jne 0x4cac97
xor eax, eax
lea edi, [esp + 0x4f8]
call fcn.0046d110
xor ecx, ecx
xor edx, edx
jmp 0x4cb5af
cmp ecx, 0x20
jne 0x4cace8
xor eax, eax
lea edi, [esp + 0x3f8]
call fcn.0046d0e0
xor ecx, ecx
xor edx, edx
jmp 0x4cb402
cmp ecx, 0x30
jne 0x4caccf
xor eax, eax
lea edi, [esp + 0x278]
call fcn.0046d0c0
xor ecx, ecx
xor edx, edx
jmp 0x4cb255
cmp ecx, 0x40
jne 0x4cace8
xor eax, eax
lea edi, [esp + 0x78]
call fcn.0046d0a0
xor ecx, ecx
xor edx, edx
jmp 0x4cb0a8
mov dword [esp + 0x5c], edx
mov dword [esp + 0x20], ecx
xor eax, eax
lea edi, [esp + 0x538]
call fcn.0046d0a0
mov ecx, dword [esp + 0x20]
mov edi, ecx
shl edi, 1
mov dword [esp + 0x60], edi
cmp edi, 0x80
jg 0x4cad2d
mov eax, pe_nt_image_headers32
mov dword [esp + 0x64], eax
lea eax, [esp + 0x538]
mov dword [esp + 0x740], eax
xor eax, eax
jmp 0x4cad79
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edi
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x748]
mov ebp, dword [esp + 0x738]
mov esi, dword [esp + 0x73c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x64], edi
mov dword [esp + 0x740], eax
xor eax, eax
mov ebp, dword [esp + 0x64]
cmp ebp, edi
jb 0x4cafff
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
jmp 0x4caeb2
mov dword [esp + 0x74], eax
mov eax, esi
shl esi, 2
sub ebp, eax
mov dword [esp + 0x70], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
mov ebp, dword [esp + 0x740]
add esi, ebp
mov dword [esp + 0x744], esi
mov dword [esp], esi
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x70]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x73c]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call fcn.004cb6d0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x75c]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x740]
imul edx, dword [ebp + ebx*4]
mov esi, dword [esp + 0x744]
mov dword [esp], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x70]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x738]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
call fcn.004cb6d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
inc ecx
nop
mov edx, dword [esp + 0x48]
add eax, edx
mov edx, 0
adc edx, 0
mov ebx, dword [esp + 0x58]
add ebx, eax
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x740]
mov dword [ebp + eax*4], ebx
adc edx, 0
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x73c]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x64]
xor eax, eax
mov ebx, dword [esp + 0x748]
mov ebp, edi
mov esi, dword [esp + 0x73c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x38]
cmp esi, ecx
jge 0x4caed5
lea eax, [esi + ecx]
cmp edi, eax
jbe 0x4caff8
mov ebx, dword [ebx + esi*4]
cmp esi, eax
jbe 0x4cad98
jmp 0x4cafef
mov ebx, dword [esp + 0x750]
cmp dword [ebx + 8], ecx
jl 0x4caf1c
mov esi, dword [ebx + 4]
test esi, esi
je 0x4caf0c
mov eax, dword [ebx]
mov dword [esp], eax
shl esi, 2
mov dword [esp + 4], esi
call fcn.0046d640
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x750]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov edx, dword [ebx + 8]
cmp edx, ecx
jb 0x4cafea
mov dword [ebx + 4], ecx
jmp 0x4caf69
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x750]
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov ebx, dword [0x68ced8]
test ebx, ebx
je 0x4caf5d
call fcn.0046ced0
mov dword [edi], eax
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], eax
mov ebx, edx
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
cmp ecx, edi
ja 0x4cafe1
mov eax, dword [ebx + 4]
sub edi, ecx
sub ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ecx, 2
sar ebp, 0x1f
and ebp, ecx
mov ecx, dword [esp + 0x740]
add ecx, ebp
cmp eax, edi
jg 0x4caf91
mov edi, eax
mov eax, dword [ebx]
cmp eax, ecx
je 0x4cafb1
mov dword [esp], eax
mov dword [esp + 4], ecx
shl edi, 2
mov dword [esp + 8], edi
call fcn.0046d810
mov ebx, dword [esp + 0x750]
mov dword [esp], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x75c]
mov dword [esp + 8], eax
call fcn.004caa20
mov eax, dword [esp + 0x750]
mov dword [esp + 0x760], eax
add esp, 0x74c
ret
mov eax, ecx
mov ecx, edi
call fcn.0046cfa0
call fcn.0046cf80
mov ecx, eax
mov eax, esi
call fcn.0046cfa0
mov ecx, edi
call fcn.0046cf40
mov ecx, edi
mov edx, ebp
call fcn.0046cf80
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + ecx*4]
lea edx, [esp + ecx*4 + 0x78]
mov dword [esp + 0x744], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004cb800
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x75c]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x28]
imul edx, dword [esp + ebx*4 + 0x78]
mov ebp, dword [esp + 0x744]
mov dword [esp], ebp
mov ebp, dword [esp + 0x738]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004cb800
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
lea edx, [ecx + 1]
nop
mov ebx, dword [esp + 0x68]
add eax, ebx
mov ebx, 0
adc ebx, 0
mov ebp, dword [esp + 0x6c]
add ebp, eax
mov dword [esp + ecx*4 + 0x178], ebp
adc ebx, 0
xor eax, eax
mov ebp, dword [esp + 0x738]
mov esi, dword [esp + 0x73c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x748]
mov dword [esp + 0x6c], edx
cmp ecx, 0x40
jl 0x4cb008
mov eax, dword [esp + 0x750]
cmp dword [eax + 8], 0x40
jl 0x4cb0fa
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4cb0e5
mov ecx, dword [eax]
mov dword [esp], ecx
shl ebx, 2
mov dword [esp + 4], ebx
call fcn.0046d640
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x6c]
mov ebx, dword [eax + 8]
cmp ebx, 0x40
jb 0x4cb1a3
mov dword [eax + 4], 0x40
jmp 0x4cb14f
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], 0x40
mov dword [esp + 8], 0x40
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x750]
mov dword [ecx + 4], 0x40
mov dword [ecx + 8], 0x40
mov edx, dword [0x68ced8]
test edx, edx
je 0x4cb147
call fcn.0046ced0
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x6c]
mov ecx, dword [eax + 4]
cmp ecx, 0x40
jle 0x4cb15c
mov ecx, 0x40
mov ebx, dword [eax]
lea ebp, [esp + 0x178]
cmp ebx, ebp
je 0x4cb187
mov dword [esp], ebx
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0046d810
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x75c]
mov dword [esp + 8], ecx
call fcn.004caa20
jmp 0x4cafcc
mov ecx, 0x40
mov edx, ebx
call fcn.0046cf80
mov dword [esp + 0x2c], ecx
mov eax, dword [ebx + ecx*4]
lea edx, [esp + ecx*4 + 0x278]
mov dword [esp + 0x744], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004cb7d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x75c]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x2c]
imul edx, dword [esp + ebx*4 + 0x278]
mov ebp, dword [esp + 0x744]
mov dword [esp], ebp
mov ebp, dword [esp + 0x738]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004cb7d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 1]
nop
mov ebx, dword [esp + 0x3c]
add eax, ebx
mov ebx, 0
adc ebx, 0
mov ebp, dword [esp + 0x4c]
add ebp, eax
mov dword [esp + ecx*4 + 0x338], ebp
adc ebx, 0
xor eax, eax
mov ebp, dword [esp + 0x738]
mov esi, dword [esp + 0x73c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x748]
mov dword [esp + 0x4c], edx
cmp ecx, 0x30
jl 0x4cb1af
mov eax, dword [esp + 0x750]
cmp dword [eax + 8], 0x30
jl 0x4cb2a7
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4cb292
mov ecx, dword [eax]
mov dword [esp], ecx
shl ebx, 2
mov dword [esp + 4], ebx
call fcn.0046d640
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x4c]
mov ebx, dword [eax + 8]
cmp ebx, 0x30
jb 0x4cb350
mov dword [eax + 4], 0x30
jmp 0x4cb2fc
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], 0x30
mov dword [esp + 8], 0x30
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x750]
mov dword [ecx + 4], 0x30
mov dword [ecx + 8], 0x30
mov edx, dword [0x68ced8]
test edx, edx
je 0x4cb2f4
call fcn.0046ced0
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
cmp ecx, 0x30
jle 0x4cb309
mov ecx, 0x30
mov ebx, dword [eax]
lea ebp, [esp + 0x338]
cmp ebx, ebp
je 0x4cb334
mov dword [esp], ebx
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0046d810
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x75c]
mov dword [esp + 8], ecx
call fcn.004caa20
jmp 0x4cafcc
mov ecx, 0x30
mov edx, ebx
call fcn.0046cf80
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + ecx*4]
lea edx, [esp + ecx*4 + 0x3f8]
mov dword [esp + 0x744], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004cb7a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x75c]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x30]
imul edx, dword [esp + ebx*4 + 0x3f8]
mov ebp, dword [esp + 0x744]
mov dword [esp], ebp
mov ebp, dword [esp + 0x738]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004cb7a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 1]
nop
mov ebx, dword [esp + 0x40]
add eax, ebx
mov ebx, 0
adc ebx, 0
mov ebp, dword [esp + 0x50]
add ebp, eax
mov dword [esp + ecx*4 + 0x478], ebp
adc ebx, 0
xor eax, eax
mov ebp, dword [esp + 0x738]
mov esi, dword [esp + 0x73c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x748]
mov dword [esp + 0x50], edx
cmp ecx, 0x20
jl 0x4cb35c
mov eax, dword [esp + 0x750]
cmp dword [eax + 8], 0x20
jl 0x4cb454
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4cb43f
mov ecx, dword [eax]
mov dword [esp], ecx
shl ebx, 2
mov dword [esp + 4], ebx
call fcn.0046d640
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x50]
mov ebx, dword [eax + 8]
cmp ebx, 0x20
jb 0x4cb4fd
mov dword [eax + 4], 0x20
jmp 0x4cb4a9
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0x20
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x750]
mov dword [ecx + 4], 0x20
mov dword [ecx + 8], 0x20
mov edx, dword [0x68ced8]
test edx, edx
je 0x4cb4a1
call fcn.0046ced0
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x50]
mov ecx, dword [eax + 4]
cmp ecx, 0x20
jle 0x4cb4b6
mov ecx, 0x20
mov ebx, dword [eax]
lea ebp, [esp + 0x478]
cmp ebx, ebp
je 0x4cb4e1
mov dword [esp], ebx
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0046d810
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x75c]
mov dword [esp + 8], ecx
call fcn.004caa20
jmp 0x4cafcc
mov ecx, 0x20
mov edx, ebx
call fcn.0046cf80
mov dword [esp + 0x34], ecx
mov eax, dword [ebx + ecx*4]
lea edx, [esp + ecx*4 + 0x4f8]
mov dword [esp + 0x744], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004cb770
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x75c]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x34]
imul edx, dword [esp + ebx*4 + 0x4f8]
mov ebp, dword [esp + 0x744]
mov dword [esp], ebp
mov ebp, dword [esp + 0x738]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004cb770
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 1]
nop
mov ebx, dword [esp + 0x44]
add eax, ebx
mov ebx, 0
adc ebx, 0
mov ebp, dword [esp + 0x54]
add ebp, eax
mov dword [esp + ecx*4 + 0x518], ebp
adc ebx, 0
xor eax, eax
mov ebp, dword [esp + 0x738]
mov esi, dword [esp + 0x73c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x748]
mov dword [esp + 0x54], edx
cmp ecx, 8
jl 0x4cb509
mov eax, dword [esp + 0x750]
cmp dword [eax + 8], 8
jl 0x4cb601
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4cb5ec
mov ecx, dword [eax]
mov dword [esp], ecx
shl ebx, 2
mov dword [esp + 4], ebx
call fcn.0046d640
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x54]
mov ebx, dword [eax + 8]
cmp ebx, 8
jb 0x4cb6aa
mov dword [eax + 4], 8
jmp 0x4cb656
lea eax, [0x4f3a20]
mov dword [esp], eax
mov dword [esp + 4], 8
mov dword [esp + 8], 8
call fcn.00468060
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x750]
mov dword [ecx + 4], 8
mov dword [ecx + 8], 8
mov edx, dword [0x68ced8]
test edx, edx
je 0x4cb64e
call fcn.0046ced0
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, ecx
mov edx, dword [esp + 0x54]
mov ecx, dword [eax + 4]
cmp ecx, 8
jle 0x4cb663
mov ecx, 8
mov ebx, dword [eax]
lea ebp, [esp + 0x518]
cmp ebx, ebp
je 0x4cb68e
mov dword [esp], ebx
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0046d810
mov eax, dword [esp + 0x750]
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x75c]
mov dword [esp + 8], ecx
call fcn.004caa20
jmp 0x4cafcc
mov ecx, 8
mov edx, ebx
call fcn.0046cf80
mov edx, eax
call fcn.0046cf80
call fcn.0046cf80
nop
call fcn.0046bac0
jmp fcn.004cac00