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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r13
push r15
sub rsp, 0x158
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xb8], xmm12
mov rax, qword [0x1800d72c0]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rdi, qword [rsp + 0x1b8]
mov r13, rdx
mov rsi, qword [rsp + 0x1b0]
movaps xmm10, xmm2
movss xmm12, dword [rsp + 0x1c0]
mov qword [rsp + 0x78], rdx
mov rdx, rcx
movss dword [rsp + 0x54], xmm12
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x70], rsi
test rdi, rdi
jne 0x18001261c
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180012610
add rdi, rsi
cvttss2si eax, dword [rsp + 0x38]
mov rcx, qword [rcx + 0x48]
mov r15, qword [rsp + 0x1a8]
movss xmm7, dword [r15 + 0xc]
movd xmm9, eax
cvttss2si eax, dword [rsp + 0x3c]
cvtdq2ps xmm9, xmm9
movd xmm1, eax
addss xmm9, dword [rcx + 0x2c]
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x4c], xmm9
addss xmm1, dword [rcx + 0x30]
comiss xmm1, xmm7
ja 0x180012e27
mov qword [rsp + 0x150], rbx
movaps xmm0, xmm1
mov qword [rsp + 0x140], r12
mov rbx, rsi
movaps xmmword [rsp + 0x120], xmm6
movss xmm6, dword [r15 + 4]
movaps xmmword [rsp + 0x100], xmm8
movss xmm8, dword [rdx + 0x14]
divss xmm10, xmm8
movaps xmmword [rsp + 0xd0], xmm11
xorps xmm11, xmm11
comiss xmm12, xmm11
mulss xmm8, xmm10
seta cl
movaps xmmword [rsp + 0xa0], xmm14
movss dword [rsp + 0x50], xmm10
movaps xmm14, xmm1
addss xmm0, xmm8
movss dword [rsp + 0x48], xmm8
xor r12d, r12d
mov byte [rsp + 0x30], cl
comiss xmm6, xmm0
jbe 0x180012726
test cl, cl
jne 0x180012726
cmp rbx, rdi
jae 0x180012721
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x18001270b
inc rbx
jmp 0x18001270e
mov rbx, rdi
addss xmm14, xmm8
movaps xmm0, xmm8
addss xmm0, xmm14
comiss xmm6, xmm0
ja 0x1800126e6
movzx ecx, byte [rsp + 0x30]
mov rax, rdi
sub rax, rbx
cmp rax, 0x2710
jle 0x180012777
test cl, cl
jne 0x180012777
comiss xmm7, xmm14
mov rax, rbx
movaps xmm6, xmm14
jbe 0x180012774
cmp rax, rdi
jae 0x180012774
mov r8, rdi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rbx, rbx
je 0x180012767
inc rbx
jmp 0x18001276a
mov rbx, rdi
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x180012745
mov rdi, rax
cmp rbx, rdi
je 0x180012df4
mov eax, dword [r13 + 0x10]
mov r8d, edi
sub r8d, ebx
mov qword [rsp + 0x138], r14
mov rcx, r13
mov qword [rsp + 0x148], rbp
lea edx, [r8 + r8*2]
add edx, edx
lea r8d, [r8*4]
add eax, edx
mov dword [rsp + 0x58], eax
call fcn.1800673f0
mov r14, qword [r13 + 0x48]
lea r9, [0x180000000]
mov rax, qword [r13 + 0x50]
mov r8, rdi
mov ecx, dword [r13 + 0x34]
sub r8, rsi
xor edx, edx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x44], ecx
test r8, r8
jle 0x180012812
xor ecx, ecx
nop word [rax + rax]
cmp rcx, 0x2710
jae 0x180012e60
inc edx
mov byte [rcx + r9 + 0x111dd0], r12b
movsxd rax, edx
inc rcx
cmp rax, r8
jl 0x1800127f0
mov eax, dword [rsp + 0x1a0]
xor ebp, ebp
mov dword [rsp + 0x80], ebp
mov rsi, rbx
mov dword [rsp + 0x40], eax
cmp rbx, rdi
jae 0x1800128df
lea r15, [rdi - 4]
cmp rsi, r15
jae 0x180012895
lea r8, [rsp + 0x80]
mov rcx, rsi
lea rdx, [rsp + 0x40]
call fcn.180012210
test al, al
je 0x18001288e
movsxd r14, dword [rsp + 0x80]
add rsi, r14
mov r8, r14
test r14d, r14d
jle 0x180012882
movsxd rax, ebp
lea rcx, [0x180000000]
lea rcx, [rcx + 0x111dd0]
mov dl, 1
add rcx, rax
call sub.VCRUNTIME140.dll_memset
add ebp, r14d
lea r9, [0x180000000]
jmp 0x1800128c9
lea r9, [0x180000000]
movzx eax, byte [rsi]
movsxd rcx, ebp
mov byte [rcx + r9 + 0x10f6c0], al
mov eax, dword [rsp + 0x40]
mov dword [r9 + rcx*4 + 0x1144e0], eax
cmp rcx, 0x2710
jae 0x180012e60
inc ebp
mov byte [rcx + r9 + 0x111dd0], r12b
inc rsi
cmp rsi, rdi
jb 0x180012836
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x1a8]
mov rsi, rbx
cmp rbx, rdi
jae 0x180012cc2
movzx ebp, byte [rsp + 0x1c8]
mov r13, qword [rsp + 0x38]
movaps xmmword [rsp + 0x90], xmm15
movaps xmm15, xmm9
movaps xmmword [rsp + 0xb0], xmm13
nop
mov rax, rbx
sub rax, rsi
cmp byte [rax + r9 + 0x111dd0], 0
je 0x180012929
inc rbx
jmp 0x180012c76
cmp byte [rsp + 0x30], 0
je 0x1800129ad
test r12, r12
jne 0x18001296b
mov rcx, qword [rsp + 0x60]
movaps xmm1, xmm15
subss xmm1, xmm9
movaps xmm0, xmm12
mov r9, rdi
mov r8, rbx
subss xmm0, xmm1
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm0
call fcn.180063b10
mov r12, rax
cmp rax, rbx
jne 0x18001296b
inc r12
cmp rbx, r12
jb 0x1800129ad
xor r12d, r12d
addss xmm14, xmm8
movaps xmm15, xmm9
cmp rbx, rdi
jae 0x180012c79
movzx eax, byte [rbx]
cmp al, 0x20
je 0x180012990
cmp al, 9
jne 0x18001299d
inc rbx
cmp rbx, rdi
jb 0x180012985
jmp 0x180012c76
cmp al, 0xa
jne 0x180012c76
inc rbx
jmp 0x180012c76
movsx edx, byte [rbx]
mov dword [rsp + 0x80], edx
cmp edx, 0x80
jae 0x1800129c4
inc rbx
jmp 0x1800129ec
mov r8, rdi
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.18004e570
mov edx, dword [rsp + 0x80]
movsxd rcx, eax
add rbx, rcx
test edx, edx
je 0x180012ca6
cmp edx, 0x20
jae 0x180012a18
cmp edx, 0xa
jne 0x180012a0f
addss xmm14, xmm8
movaps xmm15, xmm9
comiss xmm14, dword [r15 + 0xc]
ja 0x180012ca6
jmp 0x180012c76
cmp edx, 0xd
je 0x180012c76
mov rcx, qword [rsp + 0x60]
movaps xmm6, xmm11
call fcn.180063e80
test rax, rax
je 0x180012c71
mov ecx, dword [rsp + 0x80]
movaps xmm6, xmm10
mulss xmm6, dword [rax + 4]
cmp ecx, 0x20
je 0x180012c71
cmp ecx, 9
je 0x180012c71
movss xmm11, dword [r15 + 8]
movaps xmm8, xmm10
mulss xmm8, dword [rax + 8]
movaps xmm3, xmm10
mulss xmm3, dword [rax + 0x10]
movaps xmm5, xmm10
mulss xmm5, dword [rax + 0xc]
addss xmm8, xmm15
movaps xmm4, xmm10
addss xmm3, xmm15
mulss xmm4, dword [rax + 0x14]
comiss xmm11, xmm8
addss xmm5, xmm14
addss xmm4, xmm14
jb 0x180012c71
movss xmm7, dword [r15]
comiss xmm3, xmm7
jb 0x180012c71
movss xmm12, dword [rax + 0x18]
movss xmm13, dword [rax + 0x1c]
movss xmm9, dword [rax + 0x20]
movss xmm10, dword [rax + 0x24]
test bpl, bpl
je 0x180012bb2
comiss xmm7, xmm8
jbe 0x180012b04
movss xmm1, dword [0x1800bf5f0]
movaps xmm0, xmm3
subss xmm0, xmm8
movaps xmm2, xmm3
subss xmm2, xmm7
movaps xmm8, xmm7
divss xmm2, xmm0
movaps xmm0, xmm9
subss xmm0, xmm12
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm12, xmm1
movss xmm7, dword [r15 + 4]
comiss xmm7, xmm5
jbe 0x180012b42
movss xmm1, dword [0x1800bf5f0]
movaps xmm0, xmm4
subss xmm0, xmm5
movaps xmm2, xmm4
subss xmm2, xmm7
movaps xmm5, xmm7
divss xmm2, xmm0
movaps xmm0, xmm10
subss xmm0, xmm13
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm13, xmm1
comiss xmm3, xmm11
jbe 0x180012b75
movaps xmm0, xmm9
subss xmm3, xmm8
movaps xmm1, xmm11
subss xmm0, xmm12
subss xmm1, xmm8
divss xmm1, xmm3
movaps xmm3, xmm11
movaps xmm9, xmm1
mulss xmm9, xmm0
addss xmm9, xmm12
movss xmm2, dword [r15 + 0xc]
comiss xmm4, xmm2
jbe 0x180012ba9
movaps xmm0, xmm10
subss xmm4, xmm5
movaps xmm1, xmm2
subss xmm0, xmm13
subss xmm1, xmm5
divss xmm1, xmm4
movaps xmm4, xmm2
movaps xmm10, xmm1
mulss xmm10, xmm0
addss xmm10, xmm13
comiss xmm5, xmm4
jae 0x180012c71
mov edx, dword [rsp + 0x44]
lea rcx, [0x180000000]
mov word [r13], dx
mov rax, rbx
sub rax, qword [rsp + 0x70]
mov word [r13 + 6], dx
mov ecx, dword [rcx + rax*4 + 0x1144dc]
lea eax, [rdx + 1]
mov word [r13 + 2], ax
lea eax, [rdx + 2]
mov word [r13 + 4], ax
mov word [r13 + 8], ax
lea eax, [rdx + 3]
mov word [r13 + 0xa], ax
add edx, 4
movss dword [r14], xmm8
movss dword [r14 + 4], xmm5
movss dword [r14 + 8], xmm12
movss dword [r14 + 0xc], xmm13
movss dword [r14 + 0x14], xmm3
movss dword [r14 + 0x18], xmm5
movss dword [r14 + 0x1c], xmm9
movss dword [r14 + 0x20], xmm13
movss dword [r14 + 0x28], xmm3
movss dword [r14 + 0x2c], xmm4
movss dword [r14 + 0x30], xmm9
movss dword [r14 + 0x34], xmm10
movss dword [r14 + 0x3c], xmm8
movss dword [r14 + 0x40], xmm4
movss dword [r14 + 0x44], xmm12
movss dword [r14 + 0x48], xmm10
mov dword [r14 + 0x10], ecx
mov dword [r14 + 0x24], ecx
mov dword [r14 + 0x38], ecx
mov dword [r14 + 0x4c], ecx
add r14, 0x50
add r13, 0xc
mov dword [rsp + 0x44], edx
addss xmm15, xmm6
cmp rbx, rdi
movss xmm8, dword [rsp + 0x48]
lea r9, [0x180000000]
movss xmm9, dword [rsp + 0x4c]
xorps xmm11, xmm11
movss xmm10, dword [rsp + 0x50]
movss xmm12, dword [rsp + 0x54]
jb 0x180012910
movaps xmm15, xmmword [rsp + 0x90]
movaps xmm13, xmmword [rsp + 0xb0]
mov qword [rsp + 0x38], r13
mov r13, qword [rsp + 0x78]
mov rcx, r14
movabs rax, 0x6666666666666667
sub rcx, qword [r13 + 0x28]
mov edi, 8
imul rcx
mov ecx, dword [r13 + 0x24]
mov rbx, rdx
sar rbx, 3
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp ebx, ecx
jle 0x180012d51
test ecx, ecx
je 0x180012d03
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180012d05
mov eax, edi
cmp eax, ebx
mov esi, ebx
cmovg esi, eax
cmp esi, ecx
jle 0x180012d51
movsxd rax, esi
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.180050a70
mov rdx, qword [r13 + 0x28]
mov rbp, rax
test rdx, rdx
je 0x180012d49
movsxd rcx, dword [r13 + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r13 + 0x28]
call fcn.180050b20
mov qword [r13 + 0x28], rbp
mov dword [r13 + 0x24], esi
mov r15, qword [rsp + 0x38]
mov dword [r13 + 0x20], ebx
mov rbx, r15
sub rbx, qword [r13 + 0x18]
mov ecx, dword [r13 + 0x14]
sar rbx, 1
cmp ebx, ecx
jle 0x180012dbc
test ecx, ecx
je 0x180012d7a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edi, [rcx + rax]
cmp edi, ebx
mov esi, ebx
cmovg esi, edi
cmp esi, ecx
jle 0x180012dbc
movsxd rcx, esi
add rcx, rcx
call fcn.180050a70
mov rdx, qword [r13 + 0x18]
mov rdi, rax
test rdx, rdx
je 0x180012db4
movsxd r8, dword [r13 + 0x10]
mov rcx, rax
add r8, r8
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r13 + 0x18]
call fcn.180050b20
mov qword [r13 + 0x18], rdi
mov dword [r13 + 0x14], esi
mov rbp, qword [rsp + 0x148]
mov dword [r13 + 0x10], ebx
movsxd rax, dword [r13]
sub ebx, dword [rsp + 0x58]
imul rcx, rax, 0x38
mov rax, qword [r13 + 8]
add dword [rcx + rax - 0x18], ebx
mov eax, dword [r13 + 0x20]
mov qword [r13 + 0x48], r14
mov r14, qword [rsp + 0x138]
mov dword [r13 + 0x34], eax
mov qword [r13 + 0x50], r15
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x100]
mov r12, qword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0x150]
movaps xmm14, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.18008e020
lea r11, [rsp + 0x158]
movaps xmm7, xmmword [r11 - 0x48]
movaps xmm9, xmmword [r11 - 0x68]
movaps xmm10, xmmword [r11 - 0x78]
movaps xmm12, xmmword [r11 - 0x98]
mov rsp, r11
pop r15
pop r13
pop rdi
pop rsi
ret
call fcn.18008e720
int3