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

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push r12
sub rsp, 0x58
mov rax, qword [0x1400ed008]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, qword [0x14013eb00]
mov qword [r11 + 8], rdi
mov qword [r11 + 0x10], r13
mov qword [r11 + 0x18], r14
test byte [rbx + 8], 2
mov byte [rbx + 0xdb], 0
je 0x140015ff6
test byte [rbx + 0xc], 1
je 0x140015ff6
mov r12b, 1
jmp 0x140015ff9
xor r12b, r12b
movdqa xmm0, xmmword [0x1400ddde0]
xor ebp, ebp
movdqa xmm1, xmmword [0x1400dddf0]
movdqu xmmword [rsp + 0x28], xmm0
movdqu xmmword [rsp + 0x38], xmm1
test r12b, r12b
je 0x140016077
lea rcx, [rsp + 0x28]
mov edi, 8
lea rax, [rsp + 0x48]
mov r10d, ebp
cmp rcx, rax
lea r11, [rsp + 0x28]
cmova edi, ebp
nop dword [rax]
mov r9d, dword [r11]
mov rcx, rbx
mov edx, r9d
call fcn.1400104d0
cmp byte [rax], bpl
je 0x14001606b
xor edx, edx
mov ecx, r9d
call fcn.140012850
test al, al
je 0x14001606b
mov dword [rbx + 0x490c], 3
add r11, 4
inc r10
cmp r10, rdi
jne 0x140016040
movzx r13d, byte [rbx + 8]
movdqa xmm0, xmmword [0x1400dddd0]
mov dword [rsp + 0x38], 0x201
mov dword [rsp + 0x3c], 0x203
mov dword [rsp + 0x40], 0x204
movdqu xmmword [rsp + 0x28], xmm0
and r13b, 1
je 0x140016107
lea rcx, [rsp + 0x28]
mov edi, 7
lea rax, [rsp + 0x44]
mov r10, rbp
cmp rcx, rax
lea r11, [rsp + 0x28]
cmova rdi, rbp
nop word [rax + rax]
mov r9d, dword [r11]
mov rcx, rbx
mov edx, r9d
call fcn.1400104d0
cmp byte [rax], bpl
je 0x1400160fb
xor edx, edx
mov ecx, r9d
call fcn.140012850
test al, al
je 0x1400160fb
mov dword [rbx + 0x490c], 2
add r11, 4
inc r10
cmp r10, rdi
jne 0x1400160d0
cmp dword [rbx + 0x491c], ebp
je 0x140016114
call fcn.1400167a0
mov word [rbx + 0x4919], bp
mov dword [rbx + 0x491c], ebp
mov dword [rbx + 0x48f8], ebp
cmp byte [rbx + 0x4930], bpl
je 0x140016135
call fcn.1400173f0
xor sil, sil
mov dword [rbx + 0x4974], ebp
mov r14d, 1
mov word [rbx + 0x4930], bp
mov dword [rsp + 0x20], esi
cmp byte [rbx + 0x4915], bpl
je 0x140016186
cmp byte [rbx + 0x4914], bpl
je 0x140016186
cmp byte [rbx + 0x4916], bpl
jne 0x140016186
cmp byte [rbx + 0x4917], bpl
je 0x140016186
cmp qword [rbx + 0x48d8], rbp
movzx esi, sil
cmovne esi, r14d
mov dword [rsp + 0x20], esi
mov rcx, qword [rbx + 0x48d8]
mov byte [rbx + 0x4915], bpl
test rcx, rcx
je 0x1400161cc
mov rax, rcx
nop dword [rax]
cmp qword [rax + 0x378], rax
je 0x1400161c0
test dword [rax + 0x14], 0x14000000
jne 0x1400161c0
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x1400161a0
jmp 0x1400161cc
cmp rax, rcx
je 0x1400161cc
mov qword [rax + 0x398], rcx
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x1400161f0
cmp qword [rax + 0x398], rbp
je 0x1400161f0
cmp dword [rbx + 0x4910], ebp
jne 0x1400161f0
mov qword [rax + 0x398], rbp
call fcn.140018380
test r13b, r13b
jne 0x1400161ff
test r12b, r12b
je 0x140016217
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x140016217
test dword [rax + 0x14], 0x40000
mov eax, r14d
je 0x140016219
mov eax, ebp
mov byte [rbx + 0xdd], al
test al, al
je 0x140016234
cmp dword [rbx + 0x48e0], ebp
je 0x140016234
cmp byte [rbx + 0x4916], bpl
je 0x14001623f
mov eax, ebp
cmp qword [rbx + 0x4a40], rbp
je 0x140016242
mov eax, r14d
mov byte [rbx + 0xde], al
call fcn.140017850
mov edi, dword [rbx + 0x48e0]
mov qword [rbx + 0x48ec], rbp
mov dword [rbx + 0x48e8], ebp
mov dword [rbx + 0x48f4], ebp
test edi, edi
je 0x14001643b
cmp byte [rbx + 0x4916], bpl
jne 0x14001643b
cmp qword [rbx + 0x4a40], rbp
jne 0x14001643b
mov rax, qword [rbx + 0x48d8]
test rax, rax
je 0x14001643b
test dword [rax + 0x14], 0x40000
jne 0x14001643b
mov rsi, qword [0x14013eb00]
mov qword [rsp + 0x50], r15
test r13b, r13b
je 0x1400162d8
mov edx, 0x20c
mov rcx, rsi
call fcn.1400104d0
cmp byte [rax], bpl
je 0x1400162d8
xor edx, edx
mov ecx, 0x20c
call fcn.140012850
test al, al
jne 0x1400162ff
test r12b, r12b
je 0x140016339
mov edx, 0x26e
mov rcx, rsi
call fcn.1400104d0
cmp byte [rax], bpl
je 0x140016339
xor edx, edx
mov ecx, 0x26e
call fcn.140012850
test al, al
je 0x140016339
movzx r15d, r14b
test r13b, r13b
je 0x14001631b
xor r8d, r8d
xor edx, edx
mov ecx, 0x20c
call fcn.140010b80
test al, al
jne 0x140016333
test r12b, r12b
je 0x14001633c
xor r8d, r8d
xor edx, edx
mov ecx, 0x26e
call fcn.140010b80
test al, al
je 0x14001633c
movzx ebp, r14b
jmp 0x14001633c
xor r15b, r15b
test r13b, r13b
je 0x140016363
mov edx, 0x20d
mov rcx, rsi
call fcn.1400104d0
cmp byte [rax], 0
je 0x140016363
xor edx, edx
mov ecx, 0x20d
call fcn.140012850
test al, al
jne 0x14001638a
test r12b, r12b
je 0x1400163c4
mov edx, 0x26d
mov rcx, rsi
call fcn.1400104d0
cmp byte [rax], 0
je 0x1400163c4
xor edx, edx
mov ecx, 0x26d
call fcn.140012850
test al, al
je 0x1400163c4
movzx esi, r14b
test r13b, r13b
je 0x1400163a6
xor r8d, r8d
xor edx, edx
mov ecx, 0x20d
call fcn.140010b80
test al, al
jne 0x1400163be
test r12b, r12b
je 0x1400163c7
xor r8d, r8d
xor edx, edx
mov ecx, 0x26d
call fcn.140010b80
test al, al
je 0x1400163c7
movzx ecx, r14b
jmp 0x1400163c9
xor sil, sil
xor cl, cl
mov eax, dword [rbx + 0x3f58]
test eax, eax
jne 0x1400163ec
test bpl, bpl
je 0x1400163e8
mov dword [rbx + 0x48e8], edi
mov dword [rbx + 0x48f4], 2
test eax, eax
je 0x1400163f0
cmp eax, edi
jne 0x140016401
test cl, cl
je 0x140016401
mov dword [rbx + 0x48e8], edi
mov dword [rbx + 0x48f4], r14d
test eax, eax
je 0x140016409
cmp eax, edi
jne 0x140016419
test r15b, r15b
jne 0x140016413
test sil, sil
je 0x140016419
mov dword [rbx + 0x48ec], edi
mov r15, qword [rsp + 0x50]
test eax, eax
je 0x140016426
cmp eax, edi
jne 0x140016435
test bpl, bpl
jne 0x14001642f
test cl, cl
je 0x140016435
mov dword [rbx + 0x48f0], edi
mov esi, dword [rsp + 0x20]
xor ebp, ebp
mov rax, qword [rbx + 0x48d8]
mov rdi, qword [rsp + 0x80]
test rax, rax
je 0x14001645f
test dword [rax + 0x14], 0x40000
je 0x14001645f
mov byte [rbx + 0x4916], r14b
mov eax, dword [rbx + 0x4904]
test eax, eax
je 0x140016487
mov dword [rbx + 0x48f0], eax
mov dword [rbx + 0x48ec], eax
mov dword [rbx + 0x48e8], eax
mov eax, dword [rbx + 0x4908]
mov dword [rbx + 0x48f4], eax
mov dword [rbx + 0x4904], ebp
call fcn.1400168b0
cmp dword [rbx + 0x4940], 0xffffffff
jne 0x1400164a0
call fcn.140017290
mov r11, qword [0x14013eb00]
cmp byte [r11 + 0x4931], 0
jne 0x1400164be
cmp byte [r11 + 0x4919], 0
jne 0x1400164be
mov r14d, ebp
mov byte [r11 + 0x4918], r14b
mov r10, qword [rbx + 0x48d8]
mov r14, qword [rsp + 0x90]
mov byte [rbx + 0x4914], 0
test r10, r10
je 0x140016730
test dword [r10 + 0x14], 0x40000
jne 0x140016730
cmp qword [rbx + 0x4a40], 0
jne 0x140016730
mov rax, qword [r10]
movss xmm0, dword [rax + 0x3c24]
mov rax, qword [r10 + 0x368]
mulss xmm0, dword [r10 + 0x290]
test rax, rax
je 0x140016528
mulss xmm0, dword [rax + 0x290]
cmp word [r10 + 0x15c], 0
mulss xmm0, dword [0x1400ddc78]
mov ecx, dword [rbx + 0x4940]
movss xmm2, dword [0x1400ddb70]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, dword [0x1400ddb3c]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
jne 0x140016600
cmp byte [r10 + 0x162], 0
je 0x140016600
cmp ecx, 0xffffffff
je 0x140016600
movss xmm1, dword [0x1400ddd10]
test ecx, ecx
je 0x140016592
cmp ecx, 1
jne 0x1400165c4
movaps xmm0, xmm2
jmp 0x140016595
movaps xmm0, xmm1
mulss xmm0, xmm4
mov dword [r10 + 0x9c], ebp
mov dword [r10 + 0xa4], ebp
addss xmm0, dword [r10 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x94], xmm0
cmp ecx, 2
je 0x1400165d1
cmp ecx, 3
jne 0x140016600
movaps xmm1, xmm2
mulss xmm1, xmm4
mov dword [r10 + 0xa0], ebp
mov dword [r10 + 0xa8], ebp
addss xmm1, dword [r10 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x98], xmm0
test r12b, r12b
je 0x140016730
mov edx, 0x27a
mov rcx, r11
call fcn.1400104d0
mov edx, 0x279
mov rcx, r11
mov r9, rax
call fcn.1400104d0
movss xmm0, dword [r9 + 0xc]
mov edx, 0x27c
mov rcx, r11
subss xmm0, dword [rax + 0xc]
call fcn.1400104d0
mov edx, 0x27b
mov rcx, r11
mov r9, rax
call fcn.1400104d0
movss xmm1, dword [r9 + 0xc]
mov edx, 0x273
mov rcx, r11
subss xmm1, dword [rax + 0xc]
call fcn.1400104d0
cmp byte [rax], 0
je 0x140016685
xor edx, edx
mov ecx, 0x273
call fcn.140012850
test al, al
je 0x140016685
movss xmm2, dword [0x1400ddb14]
jmp 0x1400166af
mov edx, 0x274
mov rcx, r11
call fcn.1400104d0
cmp byte [rax], 0
je 0x1400166af
xor edx, edx
mov ecx, 0x274
call fcn.140012850
test al, al
je 0x1400166af
movss xmm2, dword [0x1400ddbfc]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
jp 0x1400166b9
je 0x1400166f6
cmp byte [r10 + 0xb4], 0
je 0x1400166f6
mulss xmm0, xmm4
mov dword [r10 + 0x9c], ebp
mov dword [r10 + 0xa4], ebp
mulss xmm0, xmm2
addss xmm0, dword [r10 + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x94], xmm0
ucomiss xmm1, xmm3
jp 0x1400166fd
je 0x140016730
mulss xmm1, xmm4
mov dword [r10 + 0xa0], ebp
mov dword [r10 + 0xa8], ebp
mulss xmm1, xmm2
addss xmm1, dword [r10 + 0x88]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r10 + 0x98], xmm0
test r13b, r13b
mov r13, qword [rsp + 0x88]
jne 0x14001674d
test r12b, r12b
jne 0x14001674d
mov word [rbx + 0x4916], 1
jmp 0x140016783
test sil, sil
je 0x140016783
test byte [rbx + 8], 4
je 0x140016783
test byte [rbx + 0xc], 4
je 0x140016783
lea rcx, [rsp + 0x20]
call fcn.140015ca0
movsd xmm1, qword [rax]
movsd qword [rbx + 0x36f0], xmm1
movsd qword [rbx + 0xe08], xmm1
mov byte [rbx + 0xdb], 1
mov dword [rbx + 0x496c], ebp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1400b8130
add rsp, 0x58
pop r12
pop rsi
pop rbp
pop rbx
ret