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

Disassembly:
mov r11, rsp
push rbp
push r12
push r13
push r15
sub rsp, 0x128
mov r12, qword [rsp + 0x170]
mov r15d, r9d
mov dword [rsp + 0x24], r9d
mov r13d, r8d
mov dword [rsp + 0x28], r8d
mov rbp, rcx
mov dword [rsp + 0x78], edx
mov rax, qword [r12 + 8]
sub rax, qword [r12]
sar rax, 5
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xc0], r12
test rax, rax
je 0x14001f686
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x28], r14
imul rcx, rax, 0x6c
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
mov eax, 4
movaps xmmword [r11 - 0x78], xmm10
inc rcx
mul rcx
mov rbx, rax
mov rax, 0xffffffffffffffff
cmovo rbx, rax
mov rcx, rbx
call fcn.14005bbb0
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memset
movss xmm7, dword [0x140070908]
lea eax, [r15 + 1]
movss xmm10, dword [0x140070920]
lea r8d, [r15 - 1]
cdq
mov dword [rdi], 0
sub eax, edx
mov qword [rbp + 0x58], rdi
mov rcx, qword [r12 + 8]
xor r14d, r14d
sub rcx, qword [r12]
xor esi, esi
sar eax, 1
add r8d, eax
sar rcx, 5
mov dword [rdi], ecx
mov eax, r15d
cdq
mov ecx, r8d
sub eax, edx
neg ecx
sar eax, 1
inc eax
mov dword [rsp + 0x88], ecx
imul ecx, r15d, 0x3e
mov dword [rsp + 0x8c], eax
lea edx, [rax + r8]
mov dword [rsp + 0x98], edx
mov eax, ecx
mov dword [rsp + 0xa0], edx
sub ecx, edx
sub eax, r8d
mov dword [rsp + 0x90], eax
imul eax, r15d, 0x193a5
mov dword [rsp + 0x9c], ecx
xor ecx, ecx
xor r11d, r11d
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0xa8], rcx
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x7c], eax
nop dword [rax]
xor r9d, r9d
mov eax, ecx
imul eax, r15d
mov dword [rsp + 0x54], r9d
add eax, dword [rsp + 0x78]
imul r10d, eax, 0x3e
mov dword [rsp + 0x58], r10d
nop dword [rax + rax]
mov r8, qword [r12 + 8]
lea eax, [r11 + r9]
mov rdx, qword [r12]
mov rcx, r8
sub rcx, rdx
xor ebp, ebp
sar rcx, 5
imul ecx, eax
mov dword [rsp + 0x4c], ebp
imul eax, ecx, 0x1b
inc eax
mov dword [rsp + 0x80], eax
mov eax, r9d
imul eax, r15d
add eax, r13d
imul r11d, eax, 0x3e
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x50], r11d
nop word [rax + rax]
mov r13d, dword [rsp + rcx + 0x88]
xor r9d, r9d
movd xmm9, dword [rsp + rcx + 0x98]
add r13d, r10d
imul r10d, r13d, 0x19919
xor ecx, ecx
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x48], r9d
cvtdq2ps xmm9, xmm9
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x34], r10d
nop dword [rax]
add r11d, dword [rsp + rcx + 0x88]
mov rax, r8
movd xmm8, dword [rsp + rcx + 0x98]
sub rax, rdx
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmm9
cvtdq2ps xmm8, xmm8
lea edi, [r10 + r11*8]
sar rax, 5
xor edi, dword [rsp + 0x7c]
xor r10d, r10d
mov dword [rsp + 0x3c], r11d
mov r15, rdx
mov dword [rsp + 0x44], r10d
mulss xmm6, xmm8
test rax, rax
je 0x14001f2cf
lea ecx, [r9 + rbp]
imul ecx, eax
mov eax, dword [rsp + 0x80]
lea eax, [rax + rcx*2]
add eax, ecx
cdqe
xor ebp, ebp
lea r9, [rax*4]
mov qword [rsp + 0xb8], r9
nop word [rax + rax]
mov eax, edi
mov dword [rsp + 0x30], esi
shl eax, 0xd
xorps xmm0, xmm0
xor edi, eax
movaps xmm1, xmm6
mulss xmm1, dword [r15 + rbp + 0x1c]
mov eax, edi
shr eax, 0x11
xor edi, eax
mov eax, edi
shl eax, 5
xor edi, eax
imul ecx, edi, 0x45f4914f
cvtsi2ss xmm0, rcx
divss xmm0, xmm7
addss xmm1, xmm0
cvttss2si eax, xmm1
test eax, eax
jle 0x14001f279
mov ebx, eax
add r14d, eax
mov qword [rsp + 0xb0], rbx
mov dword [rsp + 0x84], r14d
nop word [rax + rax]
mov eax, edi
xorps xmm0, xmm0
shl eax, 0xd
mov r12d, r13d
xor edi, eax
mov r13d, r11d
mov eax, edi
shr eax, 0x11
xor edi, eax
mov eax, edi
shl eax, 5
xor edi, eax
imul ecx, edi, 0x45f4914f
cvtsi2ss xmm0, rcx
divss xmm0, xmm10
mulss xmm0, xmm9
cvttss2si eax, xmm0
xorps xmm0, xmm0
sub r12d, eax
mov eax, edi
shl eax, 0xd
xor edi, eax
mov eax, edi
shr eax, 0x11
xor edi, eax
mov eax, edi
shl eax, 5
xor edi, eax
imul ecx, edi, 0x45f4914f
cvtsi2ss xmm0, rcx
movsxd rcx, esi
add esi, dword [r15 + rbp + 8]
mov dword [rsp + 0x38], esi
divss xmm0, xmm10
mulss xmm0, xmm8
cvttss2si eax, xmm0
sub r13d, eax
mov rax, qword [0x1400a4c60]
lea r14, [rax + rcx*4]
cmp esi, 0x61a80
jle 0x14001f099
lea rcx, str.Out_of_scratch_structure_memory___n
call fcn.1400046c0
mov dword [r14], r12d
mov dword [r14 + 4], 0
mov dword [r14 + 8], r13d
mov esi, dword [r15 + rbp + 8]
mov eax, dword [r15 + rbp + 4]
shl esi, 0x10
shl eax, 8
or esi, eax
or esi, dword [r15 + rbp]
mov dword [r14 + 0xc], esi
shr esi, 8
cmp dword [r15 + rbp], 0
je 0x14001f12b
mov eax, edi
xorps xmm1, xmm1
shl eax, 0xd
xor edi, eax
mov eax, edi
shr eax, 0x11
xor edi, eax
mov eax, edi
shl eax, 5
xor edi, eax
mov eax, dword [r15 + rbp + 0x10]
sub eax, dword [r15 + rbp + 0xc]
imul ecx, edi, 0x45f4914f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtsi2ss xmm1, rcx
divss xmm1, xmm7
mulss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov rbx, qword [rsp + 0xb0]
cvttss2si eax, xmm0
add eax, dword [r15 + rbp + 0xc]
mov dword [r14 + 0x10], eax
mov eax, dword [r15 + rbp + 0x14]
mov dword [r14 + 0x14], eax
mov rcx, qword [0x1400a4e80]
movabs r10, 0x4924924924924925
mov r9, qword [0x1400a4e78]
mov rax, r10
sub rcx, r9
movzx r8d, sil
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x14001f172
imul rax, r8, 0x38
add rax, r9
je 0x14001f172
mov eax, dword [rax]
test eax, eax
jne 0x14001f176
mov eax, dword [r14 + 0x10]
mov r11, qword [rsp + 0xa8]
cdq
sub eax, edx
sar eax, 1
add eax, r12d
movd xmm0, eax
mov rax, qword [0x1400a4c20]
cvtdq2ps xmm0, xmm0
movss dword [rax + r11*4], xmm0
mov rax, r10
mov rcx, qword [0x1400a4e80]
mov r9, qword [0x1400a4e78]
movzx r8d, byte [r14 + 0xd]
sub rcx, r9
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x14001f1d9
imul rax, r8, 0x38
add rax, r9
je 0x14001f1d9
mov eax, dword [rax + 8]
test eax, eax
jne 0x14001f210
mov edx, dword [r14 + 0xc]
mov rcx, r14
sub rcx, qword [0x1400a4e98]
sar rcx, 2
shr edx, 0x19
add rcx, 4
and edx, 3
mov eax, edx
add rcx, rax
cmp rcx, 0x3d0900
jl 0x14001f209
mov eax, dword [r14 + 0x10]
jmp 0x14001f210
lea eax, [rdx + 4]
mov eax, dword [r14 + rax*4]
mov esi, dword [rsp + 0x38]
cdq
sub eax, edx
sar eax, 1
add eax, r13d
mov r13d, dword [rsp + 0x40]
movd xmm0, eax
mov rax, qword [0x1400a4c58]
cvtdq2ps xmm0, xmm0
movss dword [rax + r11*4], xmm0
inc r11
sub rbx, 1
mov qword [rsp + 0xa8], r11
mov r11d, dword [rsp + 0x3c]
mov qword [rsp + 0xb0], rbx
jne 0x14001f000
mov r9, qword [rsp + 0xb8]
mov r10d, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x84]
mov r12, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx + 0x58]
inc r10d
mov ecx, esi
mov dword [rsp + 0x44], r10d
sub ecx, dword [rsp + 0x30]
add rbp, 0x20
mov dword [r9 + rax], ecx
add r9, 0xc
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
mov r15, rdx
mov rcx, r8
movsxd rax, r10d
sub rcx, rdx
mov qword [rsp + 0xb8], r9
sar rcx, 5
cmp rax, rcx
jb 0x14001efa0
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x48]
mov ebp, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x34]
inc r9d
mov r11d, dword [rsp + 0x50]
add rcx, 4
mov dword [rsp + 0x48], r9d
mov qword [rsp + 0x68], rcx
cmp rcx, 0xc
jl 0x14001ef20
mov rcx, qword [rsp + 0x70]
add ebp, 3
mov r10d, dword [rsp + 0x58]
add rcx, 4
mov dword [rsp + 0x4c], ebp
mov qword [rsp + 0x70], rcx
cmp ebp, 9
jl 0x14001eee0
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x2c]
inc r9d
mov r15d, dword [rsp + 0x24]
mov r13d, dword [rsp + 0x28]
mov dword [rsp + 0x54], r9d
cmp r9d, 2
jl 0x14001ee90
mov ecx, dword [rsp + 0x20]
add r11d, 2
inc ecx
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x20], ecx
cmp r11d, 4
jl 0x14001ee70
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
test esi, esi
jne 0x14001f39f
mov rcx, qword [rbx + 0x58]
call fcn.14005bb7c
mov qword [rbx + 0x58], 0
jmp 0x14001f666
mov rbp, qword [rsp + 0x60]
mov r8d, esi
lea rdx, [rbp + 0x50]
call fcn.140022f20
cmp dword [rbp + 0x50], 0xffffffff
jne 0x14001f3c2
lea rcx, str.Out_of_structure_memory___n
call fcn.1400046c0
mov rdx, qword [0x1400a4c58]
mov r8d, r14d
mov rcx, qword [0x1400a4c20]
mov dword [rbp + 0x54], esi
call fcn.1400278a0
mov rsi, rax
mov qword [rsp + 0x70], rax
xor eax, eax
xor edi, edi
mov dword [rsp + 0x20], eax
xor r13d, r13d
nop
mov rdx, qword [r12 + 8]
mov r8, qword [r12]
mov rcx, rdx
sub rcx, r8
sar rcx, 5
imul ecx, eax
imul r9d, ecx, 0x1b
inc r9d
xor eax, eax
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x24], eax
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rdx
sub rcx, r8
mov dword [rsp + 0x28], r10d
sar rcx, 5
test rcx, rcx
je 0x14001f61b
imul ecx, eax
lea eax, [r9 + rcx*2]
add eax, ecx
cdqe
lea r9, [rax*4 + 8]
mov qword [rsp + 0x68], r9
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x58]
mov r14d, 0x80000000
mov r8d, 0x7fffffff
mov eax, dword [rax + r9 - 8]
add eax, edi
mov dword [rsp + 0x34], eax
cmp edi, eax
jge 0x14001f5d1
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x1400a4c60]
mov r12d, r8d
movss xmm0, dword [rsi + r13*4]
movsxd rax, edi
lea rbx, [rcx + rax*4]
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movzx ebp, byte [rbx + 0xd]
movabs rax, 0x4924924924924925
cvttss2si r8d, xmm0
mov dword [rbx + 4], r8d
mov rcx, qword [0x1400a4e80]
mov rsi, qword [0x1400a4e78]
mov r15, qword [0x1400a4e98]
sub rcx, rsi
imul rcx
mov r9, rdx
sar r9, 4
mov rax, r9
shr rax, 0x3f
add r9, rax
imul rax, rbp, 0x38
cmp rbp, r9
jae 0x14001f50b
lea rcx, [rax + rsi]
mov rdx, rax
test rcx, rcx
je 0x14001f50b
mov ecx, dword [rcx + 4]
test ecx, ecx
jne 0x14001f540
movzx r10d, byte [rbx + 0xf]
mov rcx, rbx
sub rcx, r15
and r10d, 1
sar rcx, 2
mov rdx, rax
add rcx, 4
mov eax, r10d
add rcx, rax
cmp rcx, 0x3d0900
jl 0x14001f539
mov ecx, dword [rbx + 0x10]
jmp 0x14001f540
lea eax, [r10 + 4]
mov ecx, dword [rbx + rax*4]
lea eax, [r8 + rcx]
mov r10, rbx
mov r11d, 0xc
cmp eax, r14d
jle 0x14001f59b
cmp rbp, r9
jae 0x14001f567
lea rax, [rdx + rsi]
test rax, rax
je 0x14001f567
mov eax, dword [rax + 4]
test eax, eax
jne 0x14001f597
movzx edx, byte [r11 + r10 + 3]
mov rcx, rbx
sub rcx, r15
and edx, 1
sar rcx, 2
add rcx, 4
mov eax, edx
add rcx, rax
cmp rcx, 0x3d0900
jl 0x14001f591
mov eax, dword [rbx + 0x10]
jmp 0x14001f597
lea eax, [rdx + 4]
mov eax, dword [rbx + rax*4]
lea r14d, [rax + r8]
movzx eax, byte [rbx + 0xe]
cmp r8d, r12d
mov rsi, qword [rsp + 0x70]
cmovge r8d, r12d
inc r13
add edi, eax
cmp edi, dword [rsp + 0x34]
jl 0x14001f490
mov r9, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x28]
mov r12, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0x60]
mov rax, qword [rbp + 0x58]
inc r10d
mov dword [rsp + 0x28], r10d
mov dword [rax + r9 - 4], r14d
mov rax, qword [rbp + 0x58]
mov dword [r9 + rax], r8d
add r9, 0xc
mov rdx, qword [r12 + 8]
mov r8, qword [r12]
mov rcx, rdx
sub rcx, r8
movsxd rax, r10d
sar rcx, 5
mov qword [rsp + 0x68], r9
cmp rax, rcx
jb 0x14001f460
mov eax, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x24], eax
cmp eax, 9
jl 0x14001f420
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, 4
jl 0x14001f3f0
mov ecx, dword [rbp + 0x50]
mov rax, qword [0x1400a4e98]
mov rdx, qword [0x1400a4c60]
movsxd r8, edi
shl r8, 2
lea rcx, [rax + rcx*4]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rsi
call fcn.14005bb7c
mov rdi, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
mov r14, qword [rsp + 0x120]
add rsp, 0x128
pop r15
pop r13
pop r12
pop rbp
ret