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

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov dword [esp + 0x10], ecx
xor esi, esi
cmp byte [edx + 0x50], 0
je 0x101899f4
cmp byte [edx + 0x70], 0
je 0x10189a0f
test esi, esi
mov eax, edx
mov edi, edx
cmovne eax, esi
mov esi, eax
mov eax, dword [esp + 0x3c]
jmp 0x10189a03
test esi, esi
je 0x10189a01
cmp byte [edx + 0xc0], 0
jne 0x10189a2e
xor edi, edi
cmp edx, eax
je 0x10189a18
mov edx, dword [edx + 0x80]
jmp 0x101899d7
test edi, edi
cmovne eax, edi
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x3c]
mov ebp, esi
test esi, esi
jne 0x10189a34
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc
mov dword [esp + 0x3c], edi
jmp 0x10189a1c
movsd xmm4, qword [esi + 0xa8]
xorps xmm2, xmm2
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
movsd xmm3, qword [esi + 0x48]
movsd qword [esp + 0x28], xmm4
movsd qword [esp + 0x18], xmm2
mov dword [esp + 0x14], edx
test eax, eax
je 0x10189a8b
nop
mov ebx, dword [eax]
movsd xmm1, qword [ebx + 0xb0]
movsd xmm0, qword [ebx + 0xa8]
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jae 0x10189a8d
mov eax, dword [eax + 4]
test eax, eax
jne 0x10189a60
xor ebx, ebx
movsd xmm0, qword [esi + 0x68]
mov ecx, dword [esp + 0x34]
comisd xmm0, xmm3
seta al
mov byte [esp + 0x38], al
test edx, edx
je 0x10189be5
movsd xmm0, qword [edx + 0xb0]
ucomisd xmm0, xmm4
lahf
test ah, 0x44
jp 0x10189be5
movsd xmm0, qword [edx + 0xa8]
lea eax, [esp + 0x18]
sub esp, 0x10
subsd xmm0, xmm4
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm4
push eax
lea eax, [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.10193590
test al, al
je 0x10189be2
mov edx, dword [esp + 0x14]
movsd xmm4, qword [esp + 0x20]
comisd xmm4, xmmword [edx + 0xa8]
jbe 0x10189be2
movsd xmm0, qword [esp + 0x28]
comisd xmm0, xmm4
jbe 0x10189be2
movsd xmm1, qword [esp + 0x18]
mov ecx, edx
call fcn.10193f00
mov esi, eax
test esi, esi
je 0x10189be2
mov ecx, dword [esp + 0x10]
movaps xmm2, xmm4
push edx
mov ebx, esi
call fcn.101910a0
mov ebp, eax
mov ecx, ebp
call fcn.10191040
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x70], 0
jne 0x10189b63
movsd xmm0, qword [0x102265b8]
movsd qword [eax + 0x68], xmm0
movsd xmm1, qword [esp + 0x18]
mov byte [eax + 0x70], 1
comisd xmm1, xmmword [esi + 0xa8]
jbe 0x10189be2
movsd xmm0, qword [esi + 0xb0]
comisd xmm0, xmm1
jbe 0x10189be2
mov ecx, dword [esp + 0x34]
movaps xmm2, xmm1
push esi
call fcn.101910a0
mov dl, byte [esp + 0x38]
test dl, dl
je 0x10189bbf
cmp byte [esi + 0x70], 0
jne 0x10189bad
movsd xmm0, qword [0x102265b8]
movsd qword [esi + 0x68], xmm0
mov ecx, eax
mov byte [esi + 0x70], 1
call fcn.10191040
mov ebx, eax
xorps xmm2, xmm2
jmp 0x10189be9
mov ecx, esi
call fcn.10191040
cmp byte [eax + 0x50], 0
jne 0x10189bd9
movsd xmm0, qword [0x102265b8]
movsd qword [eax + 0x48], xmm0
mov byte [eax + 0x50], 1
xorps xmm2, xmm2
jmp 0x10189be9
xorps xmm2, xmm2
mov dl, byte [esp + 0x38]
mov eax, dword [edi + 0x78]
movsd xmm3, qword [edi + 0x68]
test eax, eax
je 0x10189c20
mov edi, dword [eax]
movsd xmm1, qword [edi + 0xb0]
movsd xmm0, qword [edi + 0xa8]
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jae 0x10189c22
mov eax, dword [eax + 4]
test eax, eax
jne 0x10189bf5
xor edi, edi
mov ecx, dword [esp + 0x10]
test dl, dl
mov esi, ebx
cmovne esi, edi
cmovne edi, ebx
mov ebx, dword [esp + 0x3c]
push edi
push ebx
push ebp
call fcn.10193c30
mov ecx, dword [esp + 0x34]
push ebp
push esi
push edi
mov byte [esp + 0x48], al
call fcn.10193c30
mov ecx, dword [esp + 0x10]
or byte [esp + 0x3c], al
push ebx
push ebp
call fcn.10193bd0
mov ecx, dword [esp + 0x34]
push esi
push edi
call fcn.10193bd0
movsd xmm0, qword [ebx + 0xb0]
mov ecx, ebp
mov esi, dword [esp + 0x10]
movsd qword [ebp + 0xb0], xmm0
mov eax, dword [esi]
push eax
mov word [ebp + 0xc2], 0
call fcn.10189680
mov ebx, dword [esp + 0x34]
lea ecx, [ebp + 0x38]
movsd xmm0, qword [ebp + 0xa8]
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx]
push ebp
push dword [esi]
call fcn.10185560
movsd xmm0, qword [ebp + 0xb0]
lea eax, [ebp + 0x20]
sub esp, 8
lea ecx, [ebp + 0x58]
movsd qword [esp], xmm0
push dword [ebx]
push eax
push dword [esi]
call fcn.10185560
movsd xmm6, qword [ebp + 0x48]
xorps xmm1, xmm1
movsd xmm4, qword [0x10226358]
subsd xmm1, xmm6
movsd xmm3, qword [ebp + 0x68]
movaps xmm0, xmm4
subsd xmm0, xmm6
xorps xmm2, xmm2
movaps xmm5, xmm6
mulsd xmm1, xmm0
comisd xmm2, xmm1
jb 0x10189d51
xorps xmm1, xmm1
movaps xmm0, xmm4
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jb 0x10189d51
cmp byte [esp + 0x38], 0
jne 0x10189d23
movaps xmm5, xmm3
movaps xmm3, xmm6
movsd qword [edi + 0xa8], xmm5
mov ecx, edi
movsd qword [edi + 0xb0], xmm3
mov eax, dword [ebx]
push eax
mov word [edi + 0xc2], 0
call fcn.10189680
movsd xmm4, qword [0x10226358]
xorps xmm2, xmm2
mov eax, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x80]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x10189d71
mov dword [eax + 0x80], esi
test esi, esi
je 0x10189d7f
mov dword [esi + 0x7c], eax
jmp 0x10189d7f
mov dword [ecx + 0x18], esi
test esi, esi
je 0x10189d7f
mov dword [esi + 0x7c], 0
subsd xmm4, qword [ebp + 0x48]
xorps xmm1, xmm1
subsd xmm1, qword [ebp + 0x48]
mulsd xmm1, xmm4
comisd xmm2, xmm1
setae al
dec dword [ecx + 0x24]
test al, al
jne 0x10189db3
mov eax, dword [ecx + 0x20]
mov dword [ebp + 0x80], eax
mov dword [ecx + 0x20], ebp
mov byte [ebp + 0xc4], 1
jmp 0x10189dbf
mov eax, dword [ecx + 0x1c]
mov dword [ebp + 0x80], eax
mov dword [ecx + 0x1c], ebp
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x80]
test edx, edx
je 0x10189ddb
mov dword [edx + 0x80], eax
test eax, eax
je 0x10189de9
mov dword [eax + 0x7c], edx
jmp 0x10189de9
mov dword [ebx + 0x18], eax
test eax, eax
je 0x10189de9
mov dword [eax + 0x7c], 0
dec dword [ebx + 0x24]
cmp byte [esp + 0x3c], 0
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0x80], eax
mov dword [ebx + 0x1c], edi
je 0x10189e0b
call fcn.10193b70
mov ecx, ebx
call fcn.10193b70
test esi, esi
je 0x10189e18
cmp byte [esi + 0xc4], 0
je 0x10189e1a
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc