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

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x60
mov qword [rax + 8], rbp
mov rbx, r9
movzx ebp, byte [r9 + 4]
mov rsi, r8
mov qword [rax + 0x18], r14
mov rdi, rcx
xor r14d, r14d
mov qword [rax + 0x20], r15
movaps xmmword [rax - 0x28], xmm6
cmp byte [r8 + 0x7c], bpl
je 0x1400d88fb
shr bpl, 4
mov dl, 2
movzx r8d, bpl
mov qword [rax + 0x10], r12
and r8b, 1
call fcn.1400468a0
movzx r8d, bpl
xor edx, edx
shr r8b, 1
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
movzx r8d, bpl
mov dl, 1
shr r8b, 2
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
shr bpl, 3
mov dl, 3
movzx r8d, bpl
mov rcx, rdi
call fcn.1400468a0
movzx eax, byte [rbx + 4]
mov ebp, r14d
and eax, 0xf
mov edx, r14d
mov r15d, r14d
mov r12d, r14d
cmp eax, 7
ja case.default.0x1400d8875
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0xd8de0]
add rcx, r8
jmp rcx
mov ebp, 1
jmp case.default.0x1400d8875
mov ebp, 1
mov r12d, ebp
jmp case.default.0x1400d8875
mov r12d, 1
jmp case.default.0x1400d8875
mov edx, 1
mov r12d, edx
jmp case.default.0x1400d8875
mov edx, 1
jmp case.default.0x1400d8875
mov edx, 1
mov r15d, edx
jmp case.default.0x1400d8875
mov r15d, 1
jmp case.default.0x1400d8875
mov ebp, 1
mov r15d, ebp
movzx r8d, dl
mov rcx, rdi
mov dl, 0xc
call fcn.1400468a0
movzx r8d, bpl
mov dl, 0xb
mov rcx, rdi
call fcn.1400468a0
movzx r8d, r12b
mov dl, 0xe
mov rcx, rdi
call fcn.1400468a0
movzx r8d, r15b
mov dl, 0xd
mov rcx, rdi
call fcn.1400468a0
mov r12, qword [rsp + 0x88]
movzx ebp, byte [rbx + 5]
cmp byte [rsi + 0x7d], bpl
je 0x1400d8984
movzx r8d, bpl
mov dl, 9
and r8b, 1
mov rcx, rdi
call fcn.1400468a0
movzx r8d, bpl
mov dl, 0xa
shr r8b, 1
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
movzx r8d, bpl
mov dl, 4
shr r8b, 4
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
movzx r8d, bpl
mov dl, 6
shr r8b, 5
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
movzx r8d, bpl
mov dl, 7
shr r8b, 6
mov rcx, rdi
and r8b, 1
call fcn.1400468a0
shr bpl, 7
mov dl, 8
movzx r8d, bpl
mov rcx, rdi
call fcn.1400468a0
movzx ebp, byte [rbx + 5]
test bpl, 0xc
je 0x1400d89b4
test bpl, 4
je 0x1400d8998
mov cl, 0xff
cmp byte [rbx + 7], r14b
je 0x1400d899c
movzx ecx, byte [rbx + 7]
mov byte [rbx + 7], cl
test bpl, 8
je 0x1400d89ad
mov cl, 0xff
cmp byte [rbx + 8], r14b
je 0x1400d89b1
movzx ecx, byte [rbx + 8]
mov byte [rbx + 8], cl
movzx ebp, byte [rbx + 6]
cmp byte [rsi + 0x7e], bpl
je 0x1400d89e5
movzx r8d, bpl
mov dl, 5
and r8b, 1
mov rcx, rdi
call fcn.1400468a0
shr bpl, 1
mov dl, 0xf
and bpl, 1
mov rcx, rdi
movzx r8d, bpl
call fcn.1400468a0
movzx r8d, byte [rbx + 7]
mov ebp, 0x101
movsx eax, bp
mov r15d, 0xffff8000
imul r8d, eax
mov dl, 4
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx r8d, byte [rbx + 8]
mov dl, 5
movsx ecx, bp
imul r8d, ecx
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx r8d, byte [rbx]
xor edx, edx
movsx ecx, bp
imul r8d, ecx
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx r8d, byte [rbx + 1]
mov dl, 1
movsx ecx, bp
imul r8d, ecx
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx r8d, byte [rbx + 2]
mov dl, 2
movsx ecx, bp
imul r8d, ecx
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx eax, byte [rbx + 3]
mov dl, 3
mov r8d, eax
movsx ecx, bp
imul r8d, ecx
mov rcx, rdi
add r8w, r15w
call fcn.140046620
movzx eax, byte [rbx + 0x1d]
mov r15, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x80]
test al, 0x10
je 0x1400d8ab1
mov dword [rdi + 0xac], 4
jmp 0x1400d8adc
movzx eax, al
and eax, 0xf
je 0x1400d8ad5
cmp eax, 2
ja 0x1400d8aca
mov dword [rdi + 0xac], 1
jmp 0x1400d8adc
cmp eax, 7
seta r14b
add r14d, 2
mov dword [rdi + 0xac], r14d
movzx ecx, byte [rbx + 0x24]
movzx eax, byte [rbx + 0x23]
mov edx, ecx
movzx r9d, byte [rbx + 0x22]
and edx, 0xf
movss xmm6, dword [0x140167ebc]
mov r14, qword [rsp + 0x90]
shl edx, 8
or edx, eax
shr r9b, 7
movzx eax, byte [rbx + 0x25]
not r9b
shl eax, 4
shr ecx, 4
or eax, ecx
and r9b, 1
je 0x1400d8b21
movaps xmm2, xmm6
jmp 0x1400d8b24
xorps xmm2, xmm2
movd xmm0, edx
xor r8d, r8d
movss dword [rsp + 0x30], xmm2
xor edx, edx
movd xmm1, eax
mov rcx, rdi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x140167d18]
mulss xmm0, dword [0x140167d0c]
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm0
call fcn.140048a70
movzx ecx, byte [rbx + 0x28]
movzx eax, byte [rbx + 0x27]
mov edx, ecx
movzx r9d, byte [rbx + 0x26]
and edx, 0xf
shl edx, 8
or edx, eax
shr r9b, 7
movzx eax, byte [rbx + 0x29]
not r9b
shl eax, 4
shr ecx, 4
or eax, ecx
and r9b, 1
jne 0x1400d8b94
xorps xmm6, xmm6
movd xmm0, edx
mov rcx, rdi
movd xmm1, eax
xor edx, edx
cvtdq2ps xmm1, xmm1
lea r8d, [rdx + 1]
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x140167d18]
mulss xmm0, dword [0x140167d0c]
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm0
call fcn.140048a70
cmp dword [rsi + 0x28], 0
movaps xmm6, xmmword [rsp + 0x50]
je 0x1400d8dc7
movzx eax, byte [rbx + 0xd]
mov edx, dword [rsi + 0x2c]
movss xmm1, dword [0x14016816c]
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0xc]
or ecx, eax
test edx, edx
je 0x1400d8c15
movsx eax, word [rsi + 0x30]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x34]
jmp 0x1400d8c20
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss xmm2, dword [0x140167d14]
movss xmm3, dword [0x1401680f8]
movzx eax, byte [rbx + 0xf]
movss xmm4, dword [0x14016817c]
mulss xmm0, xmm2
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0xe]
mulss xmm0, xmm3
or ecx, eax
divss xmm0, xmm4
movss dword [rsp + 0x40], xmm0
test edx, edx
je 0x1400d8c73
movsx eax, word [rsi + 0x38]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x3c]
jmp 0x1400d8c7e
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movzx eax, byte [rbx + 0x11]
mulss xmm0, xmm2
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0x10]
mulss xmm0, xmm3
or ecx, eax
divss xmm0, xmm4
movss dword [rsp + 0x44], xmm0
test edx, edx
je 0x1400d8cb9
movsx eax, word [rsi + 0x40]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x44]
jmp 0x1400d8cc4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm2
lea r8, [rsp + 0x40]
mov edx, 2
mov rcx, rdi
mulss xmm0, xmm3
divss xmm0, xmm4
movss dword [rsp + 0x48], xmm0
call fcn.140048c60
movzx eax, byte [rbx + 0x13]
mov edx, dword [rsi + 0x2c]
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0x12]
or ecx, eax
test edx, edx
je 0x1400d8d14
movsx eax, word [rsi + 0x48]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x4c]
jmp 0x1400d8d1b
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx eax, byte [rbx + 0x15]
movss xmm1, dword [0x140167cf8]
movss xmm2, dword [0x140168150]
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0x14]
mulss xmm0, xmm1
or ecx, eax
mulss xmm0, xmm2
movss dword [rsp + 0x40], xmm0
test edx, edx
je 0x1400d8d62
movsx eax, word [rsi + 0x50]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x54]
jmp 0x1400d8d69
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx eax, byte [rbx + 0x17]
shl ax, 8
movsx ecx, ax
movzx eax, byte [rbx + 0x16]
mulss xmm0, xmm1
or ecx, eax
mulss xmm0, xmm2
movss dword [rsp + 0x44], xmm0
test edx, edx
je 0x1400d8da0
movsx eax, word [rsi + 0x58]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rsi + 0x5c]
jmp 0x1400d8da7
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rdi
mulss xmm0, xmm2
movss dword [rsp + 0x48], xmm0
call fcn.140048c60
lea rcx, [rsi + 0x78]
mov r8d, 0x2a
mov rdx, rbx
add rsp, 0x60
pop rdi
pop rsi
pop rbx
jmp fcn.140039560