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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x4ae920
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4aef7d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x5c]
call fcn.004ad764
cmp byte [ebx + 0x50], 0
jne 0x4ae969
mov eax, dword [ebx + 0x5c]
call fcn.00412148
test eax, eax
jne 0x4ae960
mov dl, 2
mov eax, ebx
call fcn.004afb04
jmp 0x4ae969
mov dl, 1
mov eax, ebx
call fcn.004afb04
mov eax, dword [ebx + 0x5c]
call fcn.00412148
mov esi, eax
sub esi, 1
jno 0x4ae97d
call fcn.00402e9c
test esi, esi
jl 0x4aea7d
inc esi
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x5c]
call fcn.004ad87c
mov edx, dword [eax + 0x18]
lea eax, [ebp - 0xc]
call fcn.00403d1c
cmp dword [ebp - 0xc], 0
je 0x4aea75
cmp byte [ebx + 0x50], 1
jne 0x4aea3c
mov edx, 0x4aef94
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4aefa4
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4aefb4
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4aefc4
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4aefd4
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4aeff0
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, edi
mov eax, dword [ebx + 0x5c]
call fcn.004ad87c
add eax, 0x18
mov edx, 0x4aefc4
call fcn.00403cd8
jmp 0x4aea75
mov edx, 0x4af004
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, 0x4af010
mov eax, dword [ebp - 0xc]
call fcn.00458058
test al, al
jne 0x4aea75
mov edx, edi
mov eax, dword [ebx + 0x5c]
call fcn.004ad87c
add eax, 0x18
mov edx, 0x4af004
call fcn.00403cd8
inc edi
dec esi
jne 0x4ae988
mov eax, dword [ebx + 0x5c]
call fcn.00412148
test eax, eax
jle 0x4aeaca
cmp dword [ebx + 0x38], 0
je 0x4aeaca
mov edx, 0x4aef94
mov eax, dword [ebx + 0x38]
call fcn.00458058
test al, al
jne 0x4aeaca
mov edx, 0x4aefb4
mov eax, dword [ebx + 0x38]
call fcn.00458058
test al, al
jne 0x4aeaca
mov edx, 0x4aefa4
mov eax, dword [ebx + 0x38]
call fcn.00458058
test al, al
jne 0x4aeaca
lea eax, [ebx + 0x38]
call fcn.00403c84
cmp byte [ebx + 0x50], 1
jne 0x4aeb47
lea edx, [ebp - 0x10]
mov eax, dword [0x4e5cfc]
mov eax, dword [eax]
call fcn.004a9ee0
mov eax, dword [ebx + 0x34]
call fcn.00403f04
test eax, eax
jne 0x4aeb3a
mov eax, dword [ebx + 0x5c]
cmp dword [eax + 0x2c], 1
jle 0x4aeb18
cmp dword [eax + 0x20], 0
jle 0x4aeb09
lea eax, [ebx + 0x34]
mov edx, 0x4af01c
call fcn.00403cd8
jmp 0x4aeb3a
lea eax, [ebx + 0x34]
mov edx, 0x4af034
call fcn.00403cd8
jmp 0x4aeb3a
cmp dword [eax + 0x20], 0
jle 0x4aeb2d
lea eax, [ebx + 0x34]
mov edx, 0x4af01c
call fcn.00403cd8
jmp 0x4aeb3a
lea eax, [ebx + 0x34]
mov edx, 0x4af054
call fcn.00403cd8
mov eax, dword [ebx + 0x5c]
mov eax, dword [eax + 0x24]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 5]
lea edx, [ebp - 6]
mov eax, ebx
call fcn.004afb5c
mov eax, dword [ebx + 0xb0]
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, dword [ebx + 0x58]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4aeb7d
mov edx, dword [ebx + 0x58]
mov eax, dword [ebx + 0xb0]
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [ebx + 0xb0]
mov eax, dword [ebp - 4]
push eax
push 1
lea eax, [ebp - 0x14]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x54]
call fcn.004a5de4
mov ecx, dword [ebp - 0x14]
mov edx, 0x4af068
mov eax, esi
call fcn.00471e7c
mov al, byte [ebp - 6]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x18]
push eax
mov cl, byte [ebp - 5]
mov edx, 0x4af070
mov eax, dword [ebx + 0x80]
call fcn.004a6774
mov ecx, dword [ebp - 0x18]
mov edx, 0x4af098
mov eax, esi
call fcn.00471e7c
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x88]
call fcn.004a5de4
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4af0a8
mov eax, esi
call fcn.00471e7c
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x20]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x30]
call fcn.004a5de4
mov ecx, dword [ebp - 0x20]
mov edx, 0x4af0b4
mov eax, esi
call fcn.00471e7c
cmp byte [ebx + 0xb5], 0
jne 0x4aec42
xor ecx, ecx
mov edx, 0x4af0c0
mov eax, esi
call fcn.00471e7c
jmp 0x4aec69
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x24]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x24]
call fcn.004a5de4
mov ecx, dword [ebp - 0x24]
mov edx, 0x4af0c0
mov eax, esi
call fcn.00471e7c
lea edx, [ebp - 0x28]
mov eax, dword [ebx + 0x68]
call fcn.004129d8
mov ecx, dword [ebp - 0x28]
mov edx, 0x4af0cc
mov eax, esi
call fcn.00471e7c
cmp byte [ebx + 0x50], 1
jne 0x4aed76
mov eax, ebx
call fcn.004ae8dc
cmp al, 1
jne 0x4aecae
mov ecx, 0x4af0e0
mov edx, 0x4af0ec
mov eax, esi
call fcn.00471e7c
jmp 0x4aed94
mov ecx, dword [ebx + 0x34]
mov edx, 0x4af104
mov eax, esi
call fcn.00471e7c
cmp dword [ebx + 0x2c], 0
jbe 0x4aed0d
lea ecx, [ebp - 0x30]
mov edx, 0x4af104
mov eax, esi
call fcn.00471c64
push dword [ebp - 0x30]
push 0x4af11c
push 0x4af128
push 0x4af134
push 0x4af140
push dword [ebx + 0x2c]
push 0x4af154
lea eax, [ebp - 0x2c]
mov edx, 7
call fcn.00403fc4
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4af104
mov eax, esi
call fcn.00471e7c
mov eax, dword [ebx + 0x5c]
call fcn.00412148
test eax, eax
jle 0x4aed54
lea ecx, [ebp - 0x38]
mov edx, 0x4af104
mov eax, esi
call fcn.00471c64
push dword [ebp - 0x38]
push 0x4af160
push dword [ebp - 0x10]
push 0x4af154
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00403fc4
mov ecx, dword [ebp - 0x34]
mov edx, 0x4af104
mov eax, esi
call fcn.00471e7c
mov ecx, 0x4af0e0
mov edx, 0x4af0ec
mov eax, esi
call fcn.00471e7c
mov ecx, dword [ebx + 0x38]
mov edx, 0x4af178
mov eax, esi
call fcn.00471e7c
jmp 0x4aed94
mov ecx, dword [ebx + 0x38]
mov edx, 0x4af178
mov eax, esi
call fcn.00471e7c
mov ecx, dword [ebx + 0x34]
mov edx, 0x4af104
mov eax, esi
call fcn.00471e7c
lea edx, [ebp - 0x3c]
mov eax, dword [ebx + 0x98]
call fcn.004a3f74
mov ecx, dword [ebp - 0x3c]
mov edx, 0x4af19c
mov eax, esi
call fcn.00471e7c
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x40]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x94]
call fcn.004a5de4
mov ecx, dword [ebp - 0x40]
mov edx, 0x4af1ac
mov eax, esi
call fcn.00471e7c
mov al, byte [ebp - 6]
push eax
mov eax, dword [ebp - 4]
push eax
lea eax, [ebp - 0x44]
push eax
mov cl, byte [ebp - 5]
mov edx, 0x4af070
mov eax, dword [ebx + 0x78]
call fcn.004a6774
mov ecx, dword [ebp - 0x44]
mov edx, 0x4af1c0
mov eax, esi
call fcn.00471e7c
mov eax, dword [ebp - 4]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
mov cl, byte [ebp - 6]
mov dl, byte [ebp - 5]
mov eax, dword [ebx + 0x84]
call fcn.004a4fc4
mov ecx, dword [ebp - 0x48]
mov edx, 0x4af1d8
mov eax, esi
call fcn.00471e7c
mov ecx, dword [ebx + 0x8c]
mov edx, 0x4af1fc
mov eax, esi
call fcn.00471e7c
mov eax, ebx
call fcn.004afa9c
test al, al
je 0x4aee74
call fcn.0040a7c0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x4c]
xor eax, eax
call fcn.0046fc84
mov ecx, dword [ebp - 0x4c]
mov edx, 0x4af210
mov eax, esi
call fcn.00471e7c
jmp 0x4aee93
push dword [ebx + 0x44]
push dword [ebx + 0x40]
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.0046fc84
mov ecx, dword [ebp - 0x50]
mov edx, 0x4af210
mov eax, esi
call fcn.00471e7c
cmp byte [ebx + 0x7c], 2
je 0x4aeec1
lea edx, [ebp - 0x54]
xor eax, eax
mov al, byte [ebx + 0x7c]
add eax, 1
jno 0x4aeeab
call fcn.00402e9c
call fcn.00409354
mov ecx, dword [ebp - 0x54]
mov edx, 0x4af220
mov eax, esi
call fcn.00471e7c
jmp 0x4aeee6
mov edx, 0x4af220
mov eax, esi
call fcn.00471dec
test eax, eax
jl 0x4aeee6
mov edx, 0x4af220
mov eax, esi
call fcn.00471dec
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4aeefc
mov edx, dword [ebx + 0x4c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea edx, [ebp - 0x58]
mov eax, ebx
call fcn.004afc18
cmp dword [ebp - 0x58], 0
jne 0x4aef41
lea ecx, [ebp - 0x5c]
mov edx, 0x4af234
mov eax, esi
call fcn.00471c64
cmp dword [ebp - 0x5c], 0
je 0x4aef5a
lea ecx, [ebp - 0x60]
mov edx, 0x4af234
mov eax, esi
call fcn.00471c64
mov ecx, dword [ebp - 0x60]
mov edx, 0x4af248
mov eax, esi
call fcn.00471e7c
jmp 0x4aef5a
lea edx, [ebp - 0x64]
mov eax, ebx
call fcn.004afc18
mov ecx, dword [ebp - 0x64]
mov edx, 0x4af248
mov eax, esi
call fcn.00471e7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4aef84
lea eax, [ebp - 0x64]
mov edx, 0x17
call fcn.00403ca8
lea eax, [ebp - 4]
call fcn.00403c84
ret