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

Disassembly:
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov r9, qword [rcx + 0x20]
mov r13, rcx
movaps xmmword [rsp + 0x70], xmm7
mov qword [rsp + 0x68], r9
lea r12, [r9 + 0x1558]
mov qword [rsp + 0x60], r12
test r9, r9
je 0x180112162
mov eax, dword [rcx + 4]
dec eax
cmp eax, 0xfe
ja 0x180112162
movsd xmm1, qword [r12 + 0x70]
movsd xmm0, qword [0x1802169b8]
comisd xmm1, xmm0
mov r14d, dword [r12 + 0x48]
mov dword [rsp + 0x40], r14d
jbe 0x180111388
movabs rax, 0xc054000000000000
movaps xmm1, xmm0
mov qword [r12 + 0x70], rax
movsd xmm0, qword [0x1802169c0]
comisd xmm0, xmm1
jbe 0x1801113a5
movabs rax, 0xc069000000000000
mov qword [r12 + 0x70], rax
movsd xmm1, qword [r12 + 0x80]
xorps xmm7, xmm7
xor r15d, r15d
comisd xmm1, xmm7
jbe 0x1801113c6
mov qword [r12 + 0x80], r15
xorps xmm1, xmm1
movsd xmm0, qword [0x1802169c8]
comisd xmm0, xmm1
jbe 0x1801113e6
movabs rax, 0xc0f869f000000000
mov qword [r12 + 0x80], rax
mov rdi, qword [r12 + 8]
test rdi, rdi
je 0x180112162
cvttsd2si eax, qword [r12 + 0x10]
mov dword [r12], 1
mov r8, qword [rcx + 0x20]
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x98], rsi
mov dword [rsp + 0xe8], r15d
movaps xmmword [rsp + 0x80], xmm6
movsxd rcx, eax
mov rax, qword [rdi + 0x30]
mov edx, dword [rax + rcx*4]
mov rax, qword [rdi + 0x28]
mov ecx, dword [rax + rcx*4]
mov dword [r8], ecx
mov dword [r8 + 4], edx
mov esi, dword [r9 + 4]
mov ebp, dword [r9]
mov dword [rsp + 0xf0], esi
mov dword [rsp + 0xf8], ebp
cmp dword [rdi + 0x118], r15d
jle 0x1801116c2
mov rcx, r15
mov qword [rsp + 0x48], rcx
mov rax, qword [rdi + 0x120]
mov edx, 0x460
mov rbp, qword [rdi + 0x108]
mov rbx, qword [rdi + 0x110]
mov qword [rsp + 0x58], rbp
mov rsi, qword [rcx + rax]
mov ecx, 1
cvttsd2si eax, qword [r12 + 0x10]
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0xe0], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
movsxd r10, dword [rsp + 0xe0]
mov ecx, 8
mov r11, qword [r13 + 0x20]
mov r14, rax
movsxd rdx, dword [rsi + r10*4]
imul r8, rdx, 0x460
mov rdx, rax
add r8, rbx
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [r8]
lea r8, [r8 + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm1, xmmword [r8 - 0x70]
movups xmmword [rdx - 0x70], xmm1
movups xmm0, xmmword [r8 - 0x60]
movups xmmword [rdx - 0x60], xmm0
movups xmm1, xmmword [r8 - 0x50]
movups xmmword [rdx - 0x50], xmm1
movups xmm0, xmmword [r8 - 0x40]
movups xmmword [rdx - 0x40], xmm0
movups xmm1, xmmword [r8 - 0x30]
movups xmmword [rdx - 0x30], xmm1
movups xmm0, xmmword [r8 - 0x20]
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [r8 - 0x10]
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x1801114e0
movups xmm0, xmmword [r8]
mov ecx, 0xffffffff
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r8 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r8 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movsxd r9, dword [rax]
mov edx, ecx
test r9, r9
jle 0x180111596
lea r8, [rax + 4]
mov eax, dword [r8]
lea r8, [r8 + 4]
cmp eax, ecx
cmovle eax, ecx
mov ecx, eax
sub r9, 1
jne 0x180111582
movsxd rax, ecx
test ecx, ecx
js 0x18011162f
lea rsi, [r14 + 0x140]
lea rbx, [r14 + 0xc0]
lea rbp, [rax + 1]
mov ecx, dword [rbx + 0x40]
mov r10d, r15d
cmp ecx, edx
mov eax, ecx
cmovle eax, edx
add ecx, dword [r11 + 0x18]
mov edx, eax
mov dword [rbx + 0x40], ecx
mov ecx, dword [rbx]
mov eax, 1
shl eax, cl
test eax, eax
jle 0x18011160f
mov r9d, edx
mov r8, rsi
nop dword [rax]
mov ecx, dword [r8]
cmp ecx, r9d
mov edx, ecx
cmovle edx, r9d
test ecx, ecx
js 0x1801115f7
add ecx, dword [r11 + 0x18]
mov dword [r8], ecx
mov ecx, dword [rbx]
mov eax, 1
shl eax, cl
inc r10d
add r8, 4
mov r9d, edx
cmp r10d, eax
jl 0x1801115e0
add rbx, 4
add rsi, 0x20
sub rbp, 1
jne 0x1801115b3
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r10d, dword [rsp + 0xe0]
movsxd r9, edx
mov r8, r15
test edx, edx
js 0x180111665
movsxd rdx, r10d
nop dword [rax]
movsxd rax, dword [rsi + rdx*4]
movsxd rcx, dword [r11 + 0x18]
mov rax, qword [rbp + rax*8]
mov rax, qword [rax + r8*8]
inc r8
mov qword [r11 + rcx*8 + 0xb20], rax
inc dword [r11 + 0x18]
cmp r8, r9
jle 0x180111640
movsxd rax, dword [r11 + 0x10]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x48], rcx
mov dword [r11 + rax*4 + 0x520], 1
movsxd rax, dword [r11 + 0x10]
mov qword [r11 + rax*8 + 0x620], r14
mov eax, dword [rsp + 0xe8]
inc dword [r11 + 0x10]
inc eax
mov dword [rsp + 0xe8], eax
cmp eax, dword [rdi + 0x118]
jl 0x180111471
mov esi, dword [rsp + 0xf0]
mov ebp, dword [rsp + 0xf8]
mov r14d, dword [rsp + 0x40]
movsd xmm2, qword [r12 + 0x88]
mov r8, qword [rdi + 0xf8]
mov rbx, qword [r13 + 0x20]
mov r10, qword [rdi + 0xf0]
cvttsd2si eax, xmm2
lea r11, [rbx + 0x1348]
movsxd r9, eax
movd xmm0, eax
cvttsd2si eax, qword [r8 + r9*8]
cvtdq2pd xmm0, xmm0
movsxd rcx, eax
mov eax, 3
imul rdx, rcx, 0x1ec
subsd xmm2, xmm0
mov rcx, r11
add rdx, r10
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rdx - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x180111713
movups xmm0, xmmword [rdx]
movsd xmm6, qword [0x180171d88]
movaps xmm4, xmm2
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movaps xmm0, xmm6
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rdx + 0x60]
mov qword [rcx + 0x60], rax
subsd xmm0, xmm2
mov eax, dword [rdx + 0x68]
mov dword [rcx + 0x68], eax
mulsd xmm4, qword [r8 + r9*8 + 8]
mulsd xmm0, qword [r8 + r9*8]
addsd xmm4, xmm0
cvttsd2si eax, xmm4
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm4, xmm0
ucomisd xmm4, xmm7
jp 0x1801117e6
jne 0x1801117e6
test eax, eax
jle 0x1801117e6
dec eax
movaps xmm4, xmm6
cdqe
movaps xmm3, xmm6
imul rdx, rax, 0x1ec
subsd xmm3, xmm4
inc rax
imul rcx, rax, 0x1ec
movss xmm1, dword [rdx + r10 + 4]
cvtps2pd xmm1, xmm1
movss xmm0, dword [rcx + r10 + 4]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm3
mulsd xmm0, xmm4
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [r11 + 4], xmm0
movss xmm2, dword [rdx + r10 + 0x20]
movss xmm0, dword [rcx + r10 + 0x20]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm2
mulsd xmm0, xmm4
mulsd xmm2, xmm3
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [r11 + 0x20], xmm0
movss xmm1, dword [rdx + r10 + 8]
movss xmm0, dword [rcx + r10 + 8]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm4
mulsd xmm1, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [r11 + 8], xmm0
movss xmm2, dword [rdx + r10 + 0x24]
movss xmm0, dword [rcx + r10 + 0x24]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm2
mulsd xmm0, xmm4
mulsd xmm2, xmm3
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [r11 + 0x24], xmm0
movss xmm1, dword [rdx + r10 + 0xc]
movss xmm0, dword [rcx + r10 + 0xc]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm4
mulsd xmm1, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [r11 + 0xc], xmm0
movss xmm2, dword [rdx + r10 + 0x28]
movss xmm0, dword [rcx + r10 + 0x28]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm2
mulsd xmm0, xmm4
mulsd xmm2, xmm3
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [r11 + 0x28], xmm0
movss xmm1, dword [rdx + r10 + 0x10]
movss xmm0, dword [rcx + r10 + 0x10]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm4
mulsd xmm1, xmm3
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [r11 + 0x10], xmm0
movss xmm2, dword [rdx + r10 + 0x2c]
movss xmm0, dword [rcx + r10 + 0x2c]
cvtps2pd xmm2, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm2, xmm3
mulsd xmm0, xmm4
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [r11 + 0x2c], xmm0
movsd xmm1, qword [rbx + 0x15d8]
cvtpd2ps xmm1, xmm1
movss dword [r11 + 0x44], xmm1
mov r8, qword [rdi + 0x100]
mov rdx, r12
mov rcx, r13
call fcn.180104b20
mov rax, qword [rdi + 0xd0]
mov rcx, r13
mov r9, qword [rdi + 0xc0]
mov r8, qword [rdi + 0xb0]
movsd xmm1, qword [r12 + 0x10]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
call fcn.180106360
mov rax, qword [rdi + 0xd0]
mov rcx, r13
mov r9, qword [rdi + 0xc0]
mov r8, qword [rdi + 0xb0]
movsd xmm1, qword [r12 + 0x10]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
call fcn.180106360
cmp ebp, esi
je 0x180111a39
mov rax, qword [rdi + 0xd0]
mov rcx, r13
mov r9, qword [rdi + 0xc8]
mov r8, qword [rdi + 0xb8]
movsd xmm1, qword [r12 + 0x10]
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
call fcn.180106360
mov rax, qword [rdi + 0xd0]
mov rcx, r13
mov r9, qword [rdi + 0xc8]
mov r8, qword [rdi + 0xb8]
movsd xmm1, qword [r12 + 0x10]
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rax
call fcn.180106360
mov r9, qword [rdi + 0x38]
mov eax, 0xb0
test r14d, r14d
mov ecx, 0x90
cmove ecx, eax
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x20], rax
movsd xmm1, qword [rcx + r12]
mov rcx, r13
call fcn.180106ce0
mov rax, qword [rdi + 0x60]
mov r8d, 1
mov r9, qword [rdi + 0x38]
mov rcx, r13
movsd xmm1, qword [r12 + 0xb0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x20], rax
call fcn.180106ce0
cmp ebp, esi
je 0x180111afe
mov rax, qword [rdi + 0x60]
mov r8d, 2
mov r9, qword [rdi + 0x38]
mov rcx, r13
movsd xmm1, qword [r12 + 0xd0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x20], rax
call fcn.180106ce0
mov rax, qword [rdi + 0x58]
mov r8d, 3
mov r9, qword [rdi + 0x38]
mov rcx, r13
movsd xmm1, qword [r12 + 0xf0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x20], rax
call fcn.180106ce0
mov r9, qword [rdi + 0x98]
mov eax, 0xc8
test r14d, r14d
mov ecx, 0xa8
cmove ecx, eax
mov rax, qword [rdi + 0xa0]
xor r8d, r8d
mov qword [rsp + 0x20], rax
movsd xmm1, qword [rcx + r12]
mov rcx, r13
call fcn.180104710
mov r9, qword [rdi + 0xa0]
mov r8d, 1
movsd xmm1, qword [r12 + 0xc8]
mov rcx, r13
mov qword [rsp + 0x20], r9
mov r9, qword [rdi + 0x98]
call fcn.180104710
cmp ebp, esi
je 0x180111bb7
mov rax, qword [rdi + 0xa8]
mov r8d, 2
mov r9, qword [rdi + 0x98]
mov rcx, r13
movsd xmm1, qword [r12 + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.180104710
mov r9, qword [rdi + 0xa8]
mov r8d, 3
movsd xmm1, qword [r12 + 0x108]
mov rcx, r13
mov qword [rsp + 0x20], r9
mov r9, qword [rdi + 0x98]
call fcn.180104710
mov rdx, qword [rdi + 0x48]
test r14d, r14d
mov ecx, 0xb8
mov eax, 0x98
cmove eax, ecx
movsd xmm3, qword [rax + r12]
cvttsd2si eax, xmm3
movsxd rcx, eax
movd xmm0, eax
movd xmm2, dword [rdx + rcx*4]
movd xmm1, dword [rdx + rcx*4 + 4]
mov rax, qword [r13 + 0x20]
cvtdq2pd xmm0, xmm0
mov rcx, qword [rax + 0x1328]
cvtdq2pd xmm2, xmm2
subsd xmm3, xmm0
movaps xmm0, xmm6
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm3
mulsd xmm1, xmm3
mulsd xmm2, xmm0
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rcx + 0x20], xmm0
movsd xmm3, qword [r12 + 0xb8]
mov rdx, qword [rdi + 0x48]
cvttsd2si eax, xmm3
movsxd rcx, eax
movd xmm0, eax
movd xmm2, dword [rdx + rcx*4]
movd xmm1, dword [rdx + rcx*4 + 4]
mov rax, qword [r13 + 0x20]
cvtdq2pd xmm0, xmm0
mov rcx, qword [rax + 0x1330]
cvtdq2pd xmm2, xmm2
subsd xmm3, xmm0
movaps xmm0, xmm6
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm3
mulsd xmm1, xmm3
mulsd xmm2, xmm0
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rcx + 0x20], xmm0
cmp ebp, esi
je 0x180111d31
movsd xmm3, qword [r12 + 0xd8]
xorps xmm0, xmm0
mov rdx, qword [rdi + 0x48]
xorps xmm2, xmm2
cvttsd2si eax, xmm3
xorps xmm1, xmm1
movsxd rcx, eax
cvtsi2sd xmm0, eax
mov rax, qword [r13 + 0x20]
cvtsi2sd xmm2, dword [rdx + rcx*4]
cvtsi2sd xmm1, dword [rdx + rcx*4 + 4]
mov rcx, qword [rax + 0x1338]
subsd xmm3, xmm0
movaps xmm0, xmm6
subsd xmm0, xmm3
mulsd xmm1, xmm3
mulsd xmm2, xmm0
addsd xmm2, xmm1
xorps xmm1, xmm1
cvtpd2ps xmm0, xmm2
xorps xmm2, xmm2
movss dword [rcx + 0x20], xmm0
xorps xmm0, xmm0
movsd xmm3, qword [r12 + 0xf8]
mov rdx, qword [rdi + 0x48]
cvttsd2si eax, xmm3
movsxd rcx, eax
cvtsi2sd xmm0, eax
mov rax, qword [r13 + 0x20]
cvtsi2sd xmm2, dword [rdx + rcx*4]
cvtsi2sd xmm1, dword [rdx + rcx*4 + 4]
mov rcx, qword [rax + 0x1340]
subsd xmm3, xmm0
movaps xmm0, xmm6
subsd xmm0, xmm3
mulsd xmm1, xmm3
mulsd xmm2, xmm0
addsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [rcx + 0x20], xmm0
test r14d, r14d
je 0x180111d3f
movsd xmm0, qword [r12 + 0x18]
jmp 0x180111d42
movaps xmm0, xmm7
mov r9, qword [rdi + 0x90]
mov eax, 0xc0
movsd qword [rsp + 0x30], xmm0
test r14d, r14d
mov ecx, 0xa0
cmove ecx, eax
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov rax, qword [rdi + 0x70]
mov qword [rsp + 0x20], rax
movsd xmm1, qword [rcx + r12]
mov rcx, r13
call fcn.180105c70
mov rax, qword [rdi + 0x68]
mov r8d, 1
mov r9, qword [rdi + 0x90]
mov rcx, r13
movsd xmm1, qword [r12 + 0xc0]
movsd qword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x78]
mov qword [rsp + 0x20], rax
call fcn.180105c70
cmp ebp, esi
je 0x180111e31
mov rax, qword [rdi + 0x68]
mov r8d, 2
mov r9, qword [rdi + 0x90]
mov rcx, r13
movsd xmm1, qword [r12 + 0xe0]
movsd qword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x80]
mov qword [rsp + 0x20], rax
call fcn.180105c70
mov rax, qword [rdi + 0x68]
mov r8d, 3
mov r9, qword [rdi + 0x90]
mov rcx, r13
movsd xmm1, qword [r12 + 0x100]
movsd qword [rsp + 0x30], xmm7
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 0x88]
mov qword [rsp + 0x20], rax
call fcn.180105c70
mov rax, qword [r13 + 0x20]
movsd xmm0, qword [rax + 0x15c8]
mov rcx, qword [rax + 0x1328]
cvtpd2ps xmm0, xmm0
movss dword [rcx + 4], xmm0
movsd xmm1, qword [rax + 0x15d0]
cvtpd2ps xmm1, xmm1
movss dword [rcx + 8], xmm1
mov rax, qword [r13 + 0x20]
movsd xmm0, qword [rax + 0x15c8]
mov rcx, qword [rax + 0x1330]
cvtpd2ps xmm0, xmm0
movss dword [rcx + 4], xmm0
movsd xmm1, qword [rax + 0x15d0]
cvtpd2ps xmm1, xmm1
movss dword [rcx + 8], xmm1
cmp ebp, esi
je 0x180111ee9
mov rax, qword [r13 + 0x20]
movsd xmm0, qword [rax + 0x15c8]
mov rcx, qword [rax + 0x1338]
cvtpd2ps xmm0, xmm0
movss dword [rcx + 4], xmm0
movsd xmm1, qword [rax + 0x15d0]
cvtpd2ps xmm1, xmm1
movss dword [rcx + 8], xmm1
mov rax, qword [r13 + 0x20]
movsd xmm0, qword [rax + 0x15c8]
mov rcx, qword [rax + 0x1340]
cvtpd2ps xmm0, xmm0
movss dword [rcx + 4], xmm0
movsd xmm1, qword [rax + 0x15d0]
cvtpd2ps xmm1, xmm1
movss dword [rcx + 8], xmm1
mov r14, qword [r13 + 0x20]
lea rbx, [0x18017d608]
cvttsd2si eax, qword [r12 + 0x10]
mov rdx, qword [rdi + 0x128]
mov ebp, r15d
mov qword [rsp + 0xe8], r15
lea rdi, [r14 + 0x220]
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xe0], rdi
movsxd rcx, eax
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
mov rsi, qword [rdx + rcx*8]
mov rcx, r15
mov qword [rsp + 0xf8], rax
lea r15, [r14 + 0x320]
mov eax, dword [r14 + 4]
cmp dword [r14], eax
mov r12, qword [rsp + 0xf8]
setne cl
inc rcx
mov qword [rsp + 0x58], rcx
nop
mov edx, 0xc88
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov edx, 0x10
mov ecx, 1
mov qword [r15], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 - 0x300], rax
movups xmm0, xmmword [rbx]
lea ebx, [rbp + 1]
movups xmmword [rax], xmm0
cmp ebp, dword [r14 + 8]
jl 0x180111f9d
mov dword [r14 + 8], ebx
mov dword [rdi], 0
mov rdx, rsi
mov rcx, qword [r15]
mov r8d, 0xc88
call sub.VCRUNTIME140.dll_memcpy
cmp ebp, dword [r14 + 0xc]
jl 0x180111fbe
mov dword [r14 + 0xc], ebx
xor r8d, r8d
mov edi, r8d
cmp dword [rsi], r8d
jle 0x180111ff2
lea rbx, [rsi + 0x444]
movsxd rdx, dword [rbx]
mov r8d, ebp
imul r9, rdx, 0x38
mov rcx, r13
add r9, r12
call fcn.180106480
inc edi
lea rbx, [rbx + 4]
cmp edi, dword [rsi]
jl 0x180111fd0
xor r8d, r8d
mov rdi, qword [rsp + 0xe8]
inc ebp
mov rbx, qword [rsp + 0xf0]
inc rdi
add qword [rsp + 0xe0], 4
add rbx, 0x10
add r15, 8
mov qword [rsp + 0xe8], rdi
add rsi, 0xc88
mov qword [rsp + 0xf0], rbx
cmp rdi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xe0]
jl 0x180111f60
mov r12, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov eax, dword [r12 + 0x2c]
test eax, eax
jg 0x1801120c6
mov rax, qword [r13 + 0x20]
movsd xmm1, qword [rax + 0x1568]
mov rax, qword [rax + 0x1560]
cvttsd2si edx, xmm1
mov rcx, qword [rax + 8]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
test rcx, rcx
jne 0x18011209e
movsd xmm6, qword [0x18015d9e0]
jmp 0x1801120c2
movd xmm0, dword [r13 + 4]
subsd xmm6, xmm1
movsxd rax, edx
cvtdq2pd xmm0, xmm0
mulsd xmm6, qword [rcx + rax*8]
mulsd xmm1, qword [rcx + rax*8 + 8]
addsd xmm6, xmm1
mulsd xmm6, xmm0
cvttsd2si eax, xmm6
mov dword [r13 + 0x10], eax
mov eax, dword [r12 + 0x28]
movaps xmm6, xmmword [rsp + 0x80]
mov dword [r13 + 0x14], eax
mov eax, dword [r12 + 0x38]
mov dword [r13 + 0xc], eax
mov eax, dword [r12 + 0x2c]
test eax, eax
je 0x180112109
movd xmm1, dword [r12 + 0x3c]
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si r8d, xmm1
mov dword [r13 + 0x18], r8d
cmp dword [r12 + 0x24], 0
je 0x18011215e
mov eax, dword [r12 + 0x2c]
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1538], eax
mov eax, dword [r12 + 0x28]
mov dword [rcx + 0x153c], eax
mov eax, dword [r12 + 0x38]
mov dword [rcx + 0x1540], eax
mov eax, dword [r12 + 0x3c]
mov dword [rcx + 0x1544], eax
mov rax, qword [r12 + 0x40]
mov qword [rcx + 0x1548], rax
mov rax, qword [r12 + 0x30]
mov qword [rcx + 0x1550], rax
xor eax, eax
jmp 0x180112167
mov eax, 0xffffff7d
movaps xmm7, xmmword [rsp + 0x70]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
ret