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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 4], 0
push ebx
mov eax, dword [eax + 0x22c]
mov dword [ebp - 0x10], eax
push esi
push edi
cmp ecx, 0x3000
je 0x101ae4c3
cmp ecx, 0x4000
je 0x101ae4c3
xor bl, bl
jmp 0x101ae4c5
mov bl, 1
mov esi, dword [ebp + 8]
mov edx, 0x201
push 0
push 0
test bl, bl
mov byte [ebp - 0xc], bl
mov eax, 0x60
cmovne eax, edx
push eax
mov eax, dword [ebp + 0x20]
push dword [eax]
lea eax, [ebp - 0x60]
push esi
push ecx
push eax
call fcn.101ad3e0
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x101ae8f3
push 0xbc
push eax
push esi
call fcn.101e3600
add esp, 0xc
mov dword [esi + 0x20], 0xff9c0000
test bl, bl
mov dword [esi + 0x24], 0x320000
mov ebx, dword [ebp + 0xc]
mov eax, 0x30
mov ecx, 0x201
mov dword [esi + 0x2c], 2
cmovne eax, ecx
mov dword [esi + 0x30], 0x10000
mov dword [esi + 0x3c], 0x10000
mov dword [esi + 0x9c], 0x2210
mov dword [esi], 0xffff
mov dword [esi + 4], 0xffff
mov dword [esi + 8], 0xffff
mov dword [esi + 0xc], 0xffff
mov dword [esi + 0x10], 0xffff
mov dword [esi + 0x14], 0xffff
mov dword [esi + 0x80], 0xffff
mov dword [esi + 0x84], 0xffff
mov dword [esi + 0x88], 0xffff
mov dword [esi + 0xac], 0xffff
mov dword [esi + 0xb8], eax
cmp dword [ebx + 0xc], edi
je 0x101ae5c5
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.101ac650
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x101ae619
mov ecx, dword [ebp + 0x1c]
jmp 0x101ae5fc
push dword [ebx + 0x14]
push dword [ebp + 0x14]
call fcn.10188110
mov edi, eax
add esp, 8
test edi, edi
jne 0x101ae8f3
lea eax, [ebp - 4]
push eax
push dword [ebx + 0x18]
push dword [ebp + 0x14]
call fcn.101877f0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x101ae8f3
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 4]
test eax, eax
je 0x101ae607
add ecx, eax
jmp 0x101ae609
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.101ad480
add esp, 0xc
mov edi, eax
cmp dword [ebx + 0xc], 0
je 0x101ae62d
cmp dword [ebx + 0x20], 0
jne 0x101ae63c
lea eax, [ebp - 4]
push eax
push dword [ebx]
jmp 0x101ae634
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x14]
call fcn.101880d0
add esp, 8
test edi, edi
jne 0x101ae8f3
cmp dword [esi + 0x84], 0xffff
jne 0x101ae8f3
mov eax, dword [ebp + 0x20]
lea ebx, [esi + 0xbc]
mov ecx, dword [eax + 4]
mov dword [esi + 0x230], eax
mov byte [esi + 0x22d], 0
mov dword [ebp - 8], ecx
cmp dword [esi + 0x74], edi
je 0x101ae7ff
cmp dword [esi + 0x78], edi
je 0x101ae7ff
push 0x170
push edi
push ebx
call fcn.101e3600
mov ecx, dword [ebp + 0x20]
add esp, 0xc
mov dword [ebx + 0xc8], 7
mov dword [ebx + 0xcc], 1
mov dword [ebx + 0x14c], 0xffffffff
mov dword [ebx + 0x154], 0xf5c
mov dword [ebx + 0xc4], 0x27a000
mov dword [ebx + 0x16c], esi
mov dword [esi + 0x248], edi
mov dword [esi + 0x24c], edi
mov al, byte [ecx + 0x20]
mov byte [ebp + 0x1f], al
test al, al
je 0x101ae6eb
mov edx, dword [ecx + 0x614]
inc edx
jmp 0x101ae6f0
mov edx, 0x61
movzx eax, word [esi + 0xb2]
cmp byte [ebp + 0x1f], 0
push eax
movzx eax, word [esi + 0xb0]
push eax
push edx
push dword [ecx]
mov ecx, 0x5000
mov eax, 0x2000
cmovne eax, ecx
push ebx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.101ad3e0
add esp, 0x1c
test eax, eax
jne 0x101ae7d9
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0xc]
add eax, dword [esi + 0x74]
push eax
push dword [ebp - 8]
call fcn.10188110
mov edi, eax
add esp, 8
test edi, edi
jne 0x101ae7d9
push dword [esi + 0x78]
push dword [ebp - 8]
call fcn.101876b0
mov edi, eax
add esp, 8
test edi, edi
jne 0x101ae7d9
mov eax, dword [ebp - 8]
push dword [eax + 0x24]
push dword [eax + 0x20]
lea eax, [ebp - 0x38]
push eax
call fcn.101ad480
push dword [ebp - 8]
mov edi, eax
call fcn.101877b0
add esp, 0x10
test edi, edi
jne 0x101ae7d9
and byte [ebx], 0xfe
mov eax, dword [ebx + 0x158]
test eax, eax
jns 0x101ae797
neg eax
mov dword [ebx + 0x158], eax
jmp 0x101ae7a3
jne 0x101ae7a3
mov dword [ebx + 0x158], 0x3ade68b1
mov eax, dword [ebx + 0xc8]
cmp eax, 0x3e8
jg 0x101ae7b4
test eax, eax
jns 0x101ae7be
mov dword [ebx + 0xc8], 7
mov eax, dword [ebx + 0xcc]
cmp eax, 0x3e8
jg 0x101ae7cf
test eax, eax
jns 0x101ae7d9
mov dword [ebx + 0xcc], 1
mov eax, dword [esi + 0x250]
push dword [ebp - 0x28]
mov dword [esi + 0x254], eax
mov eax, dword [ebp - 0x38]
mov dword [esi + 0x258], 0
push dword [eax]
call fcn.10189960
add esp, 8
test edi, edi
jne 0x101ae8f3
cmp byte [ebp - 0xc], 0
jne 0x101ae89e
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebx + 0x80]
mov eax, dword [eax + 0x3c]
cmp eax, 0xffffffff
jne 0x101ae84a
mov ebx, dword [ebx + 0x60]
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x288], eax
cmp dword [ebx + 0x44], edi
je 0x101ae889
mov esi, dword [ebp - 0x10]
push dword [ebx + 0x44]
mov eax, dword [esi + 0x14]
call eax
add esp, 4
mov dword [ebx + 0x44], eax
test eax, eax
js 0x101ae836
jmp 0x101ae886
mov dword [esi + 0x288], eax
mov eax, dword [ebx + 0x80]
cmp dword [eax + 0x3c], 0
je 0x101ae889
mov esi, dword [ebp - 0x10]
nop
mov eax, dword [ebx + 0x80]
push dword [eax + 0x3c]
mov eax, dword [esi + 0x14]
call eax
mov ecx, dword [ebx + 0x80]
add esp, 4
mov dword [ecx + 0x3c], eax
mov eax, dword [ebx + 0x80]
cmp dword [eax + 0x3c], 0
jl 0x101ae860
mov esi, dword [ebp + 8]
cmp dword [esi + 0x288], 0
jne 0x101ae89e
mov eax, dword [esi + 0x214]
mov dword [esi + 0x288], eax
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x101ae8f3
mov eax, dword [esi + 0x74]
add eax, ecx
add eax, dword [ebp + 0x18]
push eax
push dword [ebp + 0x14]
call fcn.10188110
mov edi, eax
add esp, 8
test edi, edi
jne 0x101ae8f3
push dword [ebp - 0xc]
lea ebx, [esi + 0x260]
push 1
push dword [ebp + 0x14]
push ebx
call fcn.101aca30
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x101ae8f3
push eax
push eax
lea eax, [esi + 0x284]
push eax
push ebx
call fcn.101ac880
add esp, 0x10
mov edi, eax
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x50]
push dword [eax]
call fcn.10189960
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret