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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebx, ecx
mov ebp, dword [esp + 0x84]
mov eax, dword [0x10196580]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [0x10182f28]
mov edi, 0x382bb543
mov eax, dword [eax - 0x70ff5d00]
add eax, edi
lea ecx, [esp + 0x48]
call eax
mov eax, dword [0x10182f28]
add edi, dword [eax - 0x70ff5cfc]
nop
mov ecx, ebp
call edi
mov esi, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100ae9e0
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100ae9e0
mov ecx, ebp
call edi
jmp 0x100ae9b0
and esi, 0x3000
mov dword [esp + 0x20], 0xffffffff
mov edx, 0xffffffff
cmp esi, 0x3000
jne 0x100aeac6
mov dword [esp + 0x24], ebx
mov eax, dword [0x10182f28]
mov edi, 0x382bb543
mov eax, dword [eax - 0x70ff5cf4]
add eax, edi
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call eax
mov ebp, eax
cmp esi, 0x2000
jne 0x100aeb4d
movapd xmm0, xmmword [0x101488e0]
movsd xmm1, qword [esp + 0x8c]
andpd xmm0, xmm1
ucomisd xmm0, qword [0x101488f0]
jbe 0x100aeb4d
mov eax, dword [0x10182f28]
mov ecx, 0x382bb543
mov ebx, dword [eax - 0x70ff5cf0]
add ebx, ecx
lea esi, [esp + 0x40]
nop dword [eax]
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp], xmm0
call ebx
fstp st(0)
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aeb1a
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100aeb1a
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp], xmm0
call ebx
fstp st(0)
jmp 0x100aea70
mov eax, dword [0x10182f28]
mov edi, 0x382bb543
add edi, dword [eax - 0x70ff5cf8]
nop word cs:[eax + eax]
mov ecx, ebp
call edi
mov dword [esp + 0x20], eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100ae9ff
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100ae9ff
mov ecx, ebp
call edi
jmp 0x100aeae0
mov eax, dword [esp + 0x40]
mov ecx, dword [0x10182f28]
mov edx, 0x382bb543
add edx, dword [ecx - 0x70ff5cec]
mov dword [esp], eax
call edx
imul eax, eax, 0x7597
mov ecx, 0x14f8b589
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
add ebp, edx
add ebp, 0x32
mov eax, dword [0x10182f28]
add edi, dword [eax - 0x70ff5ce8]
mov dword [esp], ebp
mov dword [esp + 4], 0
lea ecx, [esp + 0x48]
call edi
sub esp, 8
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aec1e
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100aec1e
lea esi, [esp + 0x48]
nop
mov dword [esp], ebp
mov dword [esp + 4], 0
mov ecx, esi
call edi
sub esp, 8
mov dword [esp], ebp
mov dword [esp + 4], 0
mov ecx, esi
call edi
sub esp, 8
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aebe8
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100aeba0
mov dword [esp], ebp
mov dword [esp + 4], 0
mov ecx, esi
call edi
sub esp, 8
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aec1e
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100aeba0
mov eax, dword [0x10182f28]
mov edi, 0x382bb543
mov ebx, dword [eax - 0x70ff5cfc]
add ebx, edi
mov ecx, dword [esp + 0x84]
call ebx
mov esi, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aeca7
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov ebp, dword [esp + 0x24]
je 0x100aecab
nop word cs:[eax + eax]
mov esi, dword [esp + 0x84]
mov ecx, esi
call ebx
mov ecx, esi
call ebx
mov esi, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aecab
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100aec70
jmp 0x100aecab
mov ebp, dword [esp + 0x24]
mov eax, dword [0x10182f28]
add edi, dword [eax - 0x70ff5ce4]
mov dword [esp + 0xc], esi
lea ebx, [esp + 0x40]
nop
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 8], 0
call edi
mov ebp, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aed16
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100aed16
mov dword [esp + 0xc], esi
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 8], 0
call edi
mov dword [esp + 0xc], esi
jmp 0x100aecc0
mov eax, dword [0x10182f28]
mov ecx, 0x382bb543
mov ebx, dword [eax - 0x70ff5ce0]
add ebx, ecx
lea ecx, [esp + 0x48]
call ebx
mov esi, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aed8e
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100aed8e
lea edi, [esp + 0x48]
nop dword [eax + eax]
mov ecx, edi
call ebx
mov ecx, edi
call ebx
mov esi, eax
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100aed8e
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100aed60
mov eax, dword [0x10182f28]
mov edx, 0x382bb543
add edx, dword [eax - 0x70ff5cdc]
mov dword [esp], 0
lea ecx, [esp + 0x48]
call edx
sub esp, 4
mov ecx, dword [0x10182f24]
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aee3c
mov ecx, dword [0x10182f20]
mov ecx, dword [ecx - 0x70ff5d00]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x100aee3c
mov ebx, 0x382bb543
lea edi, [esp + 0x48]
nop dword [eax]
mov eax, dword [0x10182f28]
mov eax, dword [eax - 0x70ff5cdc]
add eax, ebx
mov dword [esp], 0
mov ecx, edi
call eax
sub esp, 4
mov eax, dword [0x10182f28]
mov eax, dword [eax - 0x70ff5cdc]
add eax, ebx
mov dword [esp], 0
mov ecx, edi
call eax
sub esp, 4
mov ecx, dword [0x10182f24]
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aee3c
mov ecx, dword [0x10182f20]
mov ecx, dword [ecx - 0x70ff5d00]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
jne 0x100aede0
mov ecx, dword [0x10182f28]
mov ebx, 0x382bb543
mov ecx, dword [ecx - 0x70ff5cd8]
add ecx, ebx
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp + 0x10], xmm0
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call ecx
mov edi, eax
mov eax, dword [0x10182f28]
mov esi, dword [eax - 0x70ff5cd4]
add esi, ebx
nop word cs:[eax + eax]
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp], xmm0
call esi
mov ecx, dword [0x10182f24]
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aeed8
mov ecx, dword [0x10182f20]
mov edx, dword [ecx - 0x70ff5d00]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
je 0x100aeed8
movsd xmm0, qword [esp + 0x8c]
movsd qword [esp], xmm0
call esi
jmp 0x100aee90
mov byte [esp + 0x2c], al
mov dword [esp + 0x20], edi
mov eax, dword [0x10182f28]
add ebx, dword [eax - 0x70ff5cd0]
lea ecx, [esp + 0x48]
call ebx
mov esi, dword [0x10182f20]
mov ecx, dword [0x10182f24]
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aef4e
mov edx, dword [esi - 0x70ff5d00]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
je 0x100aef4e
lea ebp, [esp + 0x48]
nop dword [eax + eax]
mov ecx, ebp
call ebx
mov ecx, ebp
call ebx
mov esi, dword [0x10182f20]
mov ecx, dword [0x10182f24]
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aef4e
mov edx, dword [esi - 0x70ff5d00]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
jne 0x100aef20
mov dword [esp + 0x30], eax
lea eax, [esp + 0x7c]
mov ebp, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [0x10182f28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ebp
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aefb2
mov eax, dword [esi - 0x70ff5d00]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
je 0x100aefb2
nop word cs:[eax + eax]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edx
cmp dword [ecx - 0x70ff5d00], 0xa
jl 0x100aefb2
mov edi, dword [esi - 0x70ff5d00]
lea ebx, [edi + 1]
imul ebx, edi
and ebx, 1
jne 0x100aef90
mov eax, 0x382bb543
mov ecx, dword [esp + 0x28]
add eax, dword [ecx - 0x70ff5ccc]
movzx ecx, byte [esp + 0x2c]
mov dword [esp + 0x2c], ecx
movsx ecx, byte [esp + 0x88]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], eax
nop word cs:[eax + eax]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 4], xmm0
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp], ebx
call eax
sub esp, 0x20
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100af0b1
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100af0b1
mov edx, ebp
mov ebp, esi
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x1c], edx
mov eax, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov edi, dword [esp + 0x24]
mov ecx, edi
mov ebp, dword [esp + 0x34]
call ebp
sub esp, 0x20
mov edx, dword [esp + 0x84]
mov ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x78]
mov eax, ebp
jmp 0x100af000
mov eax, dword [0x10182f28]
mov edi, 0x382bb543
add edi, dword [eax - 0x70ff5cc8]
lea ecx, [esp + 0x48]
call edi
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100af144
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100af144
lea esi, [esp + 0x48]
nop
mov ecx, esi
call edi
mov ecx, esi
call edi
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100af11c
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100af0f0
mov ecx, esi
call edi
mov eax, dword [0x10182f24]
cmp dword [eax - 0x70ff5d00], 0xa
jl 0x100af144
mov eax, dword [0x10182f20]
mov eax, dword [eax - 0x70ff5d00]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100af0f0
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1010ca02
mov eax, ebx
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c