Function at 0x4ae480
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 0x4aea6c
sub esp, 0xb8
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.004645c6
mov ecx, dword [esp + 0xbc]
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x14
jne 0x4ae4fe
mov dword [esp], ecx
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
call fcn.004afbf0
lea edi, [esp + 0x90]
lea esi, [esp + 8]
call fcn.00464a7c
lea edi, [esp + 0xc4]
lea esi, [esp + 0x90]
call fcn.00464a7c
add esp, 0xb8
ret
mov dword [esp], ecx
call fcn.004ae340
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc0]
test edx, edx
jl 0x4aea53
cmp edx, eax
jge 0x4aea53
shl edx, 4
mov ebx, dword [ecx + edx + 4]
mov dword [esp + 0x5c], ebx
mov ebp, dword [ecx + edx + 0xc]
mov dword [esp + 0x58], ebp
mov ecx, dword [ecx + edx]
nop
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00461290
mov eax, dword [esp + 8]
mov dword [esp], eax
call fcn.004ad8d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
nop
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call fcn.004612d0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
movzx ecx, word [eax + 0x20]
test cx, cx
jne 0x4ae5a1
xor edx, edx
jmp 0x4ae5b0
movzx edx, cx
cmp edx, 0x100000
ja 0x4aea49
lea eax, [0x6119a0]
mov dword [esp], eax
mov dword [esp + 4], 0
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
mov dword [esp + 8], ecx
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x48]
cmp ecx, 1
jae 0x4ae610
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x6119a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea ebp, [0x66f350]
mov dword [eax], ebp
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x4ae62e
mov esi, dword [esp + 0xbc]
mov dword [eax + 4], esi
jmp 0x4ae648
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0xbc]
call fcn.00464380
mov eax, edx
mov esi, dword [esp + 0xbc]
mov edx, esi
mov esi, dword [esp + 0x88]
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x4ae663
mov ebx, 0x34
jmp 0x4ae668
mov ebx, 0x24
movzx ebp, word [esi + 0x20]
test bp, bp
jne 0x4ae679
mov edi, esi
xor ebp, ebp
xor esi, esi
jmp 0x4ae68c
movzx ebp, bp
mov edi, esi
add esi, ebx
cmp ebp, 0x100000
ja 0x4aea3d
mov dword [esp + 0x38], ebp
mov dword [esp + 0x64], esi
xor ebx, ebx
mov ebx, 1
mov dword [esp + 0x44], ebx
xor ebx, ebx
jmp 0x4ae6ac
inc ebx
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x64]
cmp ebp, ebx
jle 0x4ae756
mov esi, dword [esi + ebx*4]
mov dword [esp + 0x78], esi
mov ebp, dword [esp + 0x44]
inc ebp
cmp ecx, ebp
jae 0x4ae70c
mov dword [esp + 0x54], ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6119a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x44], ebp
lea esi, [eax + ebp*8 - 8]
lea ebp, [0x66f350]
mov dword [esi], ebp
mov esi, dword [esp + 0x44]
lea ebp, [eax + esi*8 - 4]
mov esi, dword [0x7f8db0]
test esi, esi
jne 0x4ae73a
mov esi, dword [esp + 0x78]
mov dword [ebp], esi
jmp 0x4ae6a3
mov dword [esp + 0x74], eax
mov esi, edi
mov edi, ebp
mov eax, dword [esp + 0x78]
call fcn.00464380
mov eax, dword [esp + 0x74]
mov edi, esi
jmp 0x4ae6a3
mov dword [esp + 0x50], ecx
mov dword [esp + 0x84], eax
movzx ebp, word [edi + 0x22]
and ebp, 0x7fff
test bp, bp
jne 0x4ae774
xor ebp, ebp
jmp 0x4ae796
movzx esi, word [edi + 0x20]
add ebp, esi
movzx ebp, bp
cmp ebp, 0x100000
ja 0x4aea31
movzx ebx, si
cmp ebx, ebp
ja 0x4aea28
sub ebp, ebx
mov dword [esp + 0x34], ebp
lea eax, [0x6119a0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ebp
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
movzx edx, byte [ecx + 0xc]
test dl, 1
je 0x4ae7cf
mov edx, 0x34
jmp 0x4ae7d4
mov edx, 0x24
movzx ebp, word [ecx + 0x22]
and ebp, 0x7fff
test bp, bp
jne 0x4ae7e9
xor ebx, ebx
xor edx, edx
jmp 0x4ae823
movzx esi, word [ecx + 0x20]
add ebp, esi
movzx ebp, bp
mov ebx, esi
lea esi, [edx + ecx]
cmp ebp, 0x100000
ja 0x4aea1c
movzx edx, bx
cmp edx, ebp
ja 0x4aea13
sub ebp, edx
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl edx, 2
sar ebp, 0x1f
and ebp, edx
lea edx, [esi + ebp]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], edx
mov ebp, dword [esp + 0x34]
xor esi, esi
xor edi, edi
jmp 0x4ae84d
inc esi
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x88]
mov ebx, edi
mov edi, edx
mov edx, dword [esp + 0x60]
cmp esi, ebx
jge 0x4ae8e2
mov ecx, dword [edx + esi*4]
lea edx, [edi + 1]
cmp ebp, edx
jae 0x4ae8a1
mov dword [esp + 0x54], esi
mov dword [esp + 0x68], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6119a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x40], ebp
mov edi, ebx
lea ebx, [eax + edx*8 - 8]
lea ebp, [0x66f350]
mov dword [ebx], ebp
lea ebx, [eax + edx*8 - 4]
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x4ae8c8
mov dword [ebx], ecx
jmp 0x4ae835
mov dword [esp + 0x6c], eax
mov ebp, edi
mov edi, ebx
mov eax, ecx
call fcn.00464380
mov eax, dword [esp + 0x6c]
mov edi, ebp
jmp 0x4ae835
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x80], eax
mov dword [esp], ecx
call fcn.004aefa0
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], al
call fcn.004b2820
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x70], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
lea ecx, [0x5f1ba0]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
call fcn.00461310
mov eax, dword [0x7f8db0]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x4ae9a7
mov eax, dword [esp + 0x8c]
mov dword [eax], ecx
jmp 0x4ae9b7
mov edi, dword [esp + 0x8c]
mov eax, ecx
call fcn.00464380
mov eax, edi
mov ecx, dword [0x66f354]
mov edx, dword [esp + 0x7c]
lea ebx, [0x66f350]
cmp edx, ebx
jne 0x4ae9fd
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 0x13
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xe8], eax
add esp, 0xb8
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x6119a0]
mov dword [esp + 8], eax
call fcn.00409880
mov eax, edx
mov ecx, ebp
call fcn.004644b0
mov edx, ebp
mov ebx, 0x100000
call fcn.00464480
mov eax, ebx
mov ecx, ebp
call fcn.004644b0
mov edx, ebp
mov ebx, 0x100000
call fcn.00464480
mov edx, ebp
mov ebx, 0x100000
call fcn.00464480
mov ebx, 0x100000
call fcn.00464480
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e1b4]
mov dword [esp + 4], eax
call fcn.00436760
nop
call fcn.00462f70
jmp fcn.004ae480