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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x140105bc0]
xor rax, rsp
mov qword [rbp - 0x49], rax
mov rsi, qword [0x14010a968]
xor eax, eax
xor r12d, r12d
mov qword [rbp - 0x71], rax
mov dword [rbp - 0x69], eax
xor r14b, r14b
mov qword [rbp - 0x65], rax
mov rdi, rcx
mov dword [rbp - 0x5d], eax
mov ebx, r12d
mov qword [rbp - 0x59], rax
lea r15d, [r12 + 1]
mov dword [rbp - 0x51], eax
mov r11d, r12d
mov eax, dword [rcx]
mov byte [rcx + 0x6b], 0
test eax, eax
jle 0x14008d9e0
mov r8d, r12d
nop dword [rax + rax]
mov rdx, qword [rdi + 8]
mov eax, dword [rdi + 0x28]
cmp dword [r8 + rdx + 8], eax
jl 0x14008d9a7
cmp byte [r8 + rdx + 0x24], r12b
jne 0x14008d9a7
cmp ebx, r11d
je 0x14008d92a
movups xmm0, xmmword [r8 + rdx]
movsxd rax, ebx
lea rcx, [rax + rax*4]
movups xmmword [rdx + rcx*8], xmm0
movups xmm1, xmmword [r8 + rdx + 0x10]
movups xmmword [rdx + rcx*8 + 0x10], xmm1
movsd xmm0, qword [r8 + rdx + 0x20]
movsd qword [rdx + rcx*8 + 0x20], xmm0
movsxd rax, ebx
mov ecx, r12d
mov rdx, r12
lea r10, [rax + rax*4]
mov rax, qword [rdi + 8]
mov r9d, dword [rax + r10*8 + 4]
mov word [rax + r10*8 + 0x22], bx
test r9b, 0x40
jne 0x14008d961
bt r9d, 7
setb cl
inc ecx
bt r9d, 7
setb dl
inc rdx
test ebx, ebx
jle 0x14008d99b
mov rax, qword [rdi + 8]
mov r9d, dword [rax + r10*8 - 0x24]
mov eax, r12d
test r9b, 0x40
jne 0x14008d980
test r9b, 0x80
setne al
inc eax
test ecx, ecx
jne 0x14008d98c
test eax, eax
je 0x14008d99b
movzx r14d, r15b
cmp eax, 2
jne 0x14008d99b
cmp ecx, eax
movzx r14d, r14b
cmovne r14d, r15d
lea rax, [rdx + rdx*2]
inc dword [rbp + rax*4 - 0x71]
inc ebx
jmp 0x14008d9ce
mov eax, dword [r8 + rdx]
cmp dword [rdi + 0x20], eax
jne 0x14008d9b4
mov dword [rdi + 0x20], r12d
mov eax, dword [r8 + rdx]
cmp dword [rdi + 0x18], eax
jne 0x14008d9c1
mov dword [rdi + 0x18], r12d
mov eax, dword [r8 + rdx]
cmp dword [rdi + 0x1c], eax
jne 0x14008d9ce
mov dword [rdi + 0x1c], r12d
mov eax, dword [rdi]
inc r11d
add r8, 0x28
cmp r11d, eax
jl 0x14008d8e0
mov r15d, 8
cmp eax, ebx
je 0x14008da16
mov ecx, dword [rdi + 4]
cmp ebx, ecx
jle 0x14008da12
test ecx, ecx
je 0x14008da00
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14008da03
mov eax, r15d
cmp eax, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, eax
call fcn.140090340
mov dword [rdi], ebx
mov eax, ebx
test r14b, r14b
je 0x14008da3b
movsxd rdx, eax
cmp rdx, 1
jbe 0x14008da3b
mov rcx, qword [rdi + 8]
lea r9, [0x14008ef80]
mov r8d, 0x28
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov edx, dword [rbp - 0x71]
xorps xmm6, xmm6
mov r13d, dword [rbp - 0x65]
mov ecx, dword [rbp - 0x59]
test edx, edx
jle 0x14008da5f
lea eax, [rcx + r13]
test eax, eax
jle 0x14008da5f
movss xmm12, dword [rsi + 0x15c4]
jmp 0x14008da63
xorps xmm12, xmm12
movss dword [rbp - 0x69], xmm12
test r13d, r13d
jle 0x14008da7d
test ecx, ecx
jle 0x14008da7d
movss xmm11, dword [rsi + 0x15c4]
jmp 0x14008da81
xorps xmm11, xmm11
mov eax, dword [rdi + 0x1c]
mov r14d, r12d
movss dword [rbp - 0x5d], xmm11
mov dword [rsp + 0x20], r12d
test eax, eax
je 0x14008daa4
mov r14d, eax
mov dword [rsp + 0x20], eax
mov dword [rdi + 0x18], eax
mov dword [rdi + 0x1c], r12d
mov edx, dword [rdi + 0x64]
movabs rbx, 0x6666666666666667
test edx, edx
je 0x14008dbba
mov r8d, dword [rdi]
mov eax, r12d
test r8d, r8d
jle 0x14008dbb6
mov rcx, qword [rdi + 8]
nop dword [rax]
cmp dword [rcx], edx
je 0x14008dae4
inc eax
add rcx, 0x28
cmp eax, r8d
jl 0x14008dad0
jmp 0x14008dbb6
mov r11, qword [rdi + 8]
cdqe
lea rcx, [rax + rax*4]
lea rcx, [rcx*8]
lea r9, [rcx + r11]
test r9, r9
je 0x14008dbb6
mov r10d, dword [r9 + 4]
test r10b, 0x20
jne 0x14008dbb6
movsx r8d, word [rdi + 0x68]
mov rax, rbx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r8d
js 0x14008dbb6
cmp edx, dword [rdi]
jge 0x14008dbb6
movsxd rax, edx
lea rcx, [rax + rax*4]
mov eax, dword [r11 + rcx*8 + 4]
lea rbx, [r11 + rcx*8]
test al, 0x20
jne 0x14008dbb6
xor eax, r10d
test al, 0xc0
jne 0x14008dbb6
movsd xmm9, qword [r9 + 0x20]
mov eax, r8d
movups xmm7, xmmword [r9]
movups xmm8, xmmword [r9 + 0x10]
test r8w, r8w
jle 0x14008db70
lea rdx, [r9 + 0x28]
jmp 0x14008db79
mov rdx, rbx
lea r9, [rbx + 0x28]
neg eax
cdqe
mov rcx, r9
lea r8, [rax + rax*4]
shl r8, 3
call sub.VCRUNTIME140.dll_memmove
movups xmmword [rbx], xmm7
movups xmmword [rbx + 0x10], xmm8
movsd qword [rbx + 0x20], xmm9
test dword [rdi + 0x10], 0x400000
je 0x14008dba7
call fcn.140066880
mov eax, dword [rdi + 0x64]
cmp eax, dword [rdi + 0x18]
cmove r14d, eax
mov dword [rsp + 0x20], r14d
mov dword [rdi + 0x64], r12d
mov eax, dword [rdi + 0x10]
shr eax, 2
test al, 1
je 0x14008dd20
mov rax, qword [0x14010a968]
lea rdx, [rsp + 0x48]
movss xmm1, dword [rdi + 0x2c]
xor ecx, ecx
movss xmm0, dword [rax + 0x15b0]
mov r14, qword [rax + 0x1c20]
subss xmm1, xmm0
movaps xmm2, xmm0
mov qword [rsp + 0x30], r14
addss xmm2, dword [rax + 0x1990]
movss xmm0, dword [rdi + 0x30]
movss xmm7, dword [r14 + 0xd8]
movss xmm8, dword [r14 + 0xdc]
movss dword [r14 + 0xdc], xmm0
movss dword [r14 + 0xd8], xmm1
addss xmm2, dword [rdi + 0x2c]
movss dword [rdi + 0x2c], xmm2
movups xmm0, xmmword [rax + 0x1638]
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [0x1400e07e0]
movss dword [rbp - 0x75], xmm0
call fcn.14006c0b0
xorps xmm0, xmm0
lea rdx, [rsp + 0x38]
mov ecx, reloc.WS2_32.dll_setsockopt
movups xmmword [rsp + 0x38], xmm0
call fcn.14006c0b0
xor edx, edx
lea rcx, [0x1400e08d0]
lea r8d, [rdx + 0x50]
call fcn.140087500
mov ecx, 2
movzx ebx, al
call fcn.14006bb00
test bl, bl
je 0x14008dcfb
xor r15d, r15d
cmp dword [rdi], r12d
jle 0x14008dcf0
xor r14d, r14d
nop dword [rax + rax]
mov rbx, qword [rdi + 8]
add rbx, r14
test dword [rbx + 4], 0x200000
jne 0x14008dcdf
movsxd rcx, dword [rbx + 0x1c]
lea r9, [rsp + 0x28]
add rcx, qword [rdi + 0x90]
mov eax, dword [rbx]
cmp dword [rdi + 0x18], eax
mov qword [rsp + 0x28], 0
sete dl
xor r8d, r8d
call fcn.14008cf20
test al, al
cmovne r12, rbx
inc r15d
add r14, 0x28
cmp r15d, dword [rdi]
jl 0x14008dca0
mov r14, qword [rsp + 0x30]
call fcn.140062c10
mov r15d, 8
movss dword [r14 + 0xd8], xmm7
movss dword [r14 + 0xdc], xmm8
test r12, r12
je 0x14008dd1d
mov ecx, dword [r12]
mov dword [rsp + 0x20], ecx
mov dword [rdi + 0x18], ecx
xor r12d, r12d
mov ecx, dword [rbp - 0x71]
mov eax, dword [rbp - 0x59]
mov r14d, dword [rdi]
add eax, ecx
mov dword [rbp - 0x79], ecx
mov ecx, dword [rsi + 0x2114]
mov dword [rsp + 0x48], r12d
mov dword [rbp - 0x7d], eax
cmp r14d, ecx
jle 0x14008dda5
test ecx, ecx
je 0x14008dd50
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r15d, [rcx + rax]
cmp r15d, r14d
mov ebx, r14d
cmovg ebx, r15d
cmp ebx, ecx
jle 0x14008dda5
movsxd rcx, ebx
shl rcx, 3
call fcn.1400668c0
mov rdx, qword [rsi + 0x2118]
mov r15, rax
test rdx, rdx
je 0x14008dd98
movsxd r8, dword [rsi + 0x2110]
mov rcx, rax
shl r8, 3
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x2118]
call fcn.1400668e0
mov qword [rsi + 0x2118], r15
mov dword [rsi + 0x2114], ebx
xor dl, dl
mov dword [rsi + 0x2110], r14d
mov eax, dword [rdi]
mov rcx, r12
xor r15d, r15d
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x30], edx
mov r12d, 0xffffffff
test eax, eax
jle 0x14008def0
xor r14d, r14d
lea r13d, [r12 + 2]
nop word [rax + rax]
mov rbx, qword [rdi + 8]
add rbx, r14
test rcx, rcx
je 0x14008ddf4
mov eax, dword [rbx + 0xc]
cmp dword [rcx + 0xc], eax
jge 0x14008de04
test dword [rbx + 4], 0x200000
cmove rcx, rbx
mov qword [rsp + 0x28], rcx
mov eax, dword [rbx]
cmp eax, dword [rdi + 0x18]
mov ecx, dword [rsp + 0x20]
movzx edx, dl
cmove edx, r13d
mov dword [rsp + 0x30], edx
test ecx, ecx
jne 0x14008de29
cmp dword [rsi + 0x1e3c], eax
cmove ecx, eax
mov dword [rsp + 0x20], ecx
mov r8d, dword [rbx + 4]
lea rcx, [rsp + 0x38]
movsxd rdx, dword [rbx + 0x1c]
add rdx, qword [rdi + 0x90]
shr r8d, 0x14
not r8b
and r8b, r13b
call fcn.14008ee90
movss xmm0, dword [rax]
mov eax, dword [rbx + 4]
movss dword [rbx + 0x18], xmm0
test al, 0x40
je 0x14008de60
xor eax, eax
jmp 0x14008de6c
test al, 0x80
mov eax, 0
setne al
inc eax
mov edx, eax
lea rcx, [rax + rax*2]
cmp eax, r12d
jne 0x14008de81
movss xmm1, dword [rsi + 0x15c4]
jmp 0x14008de84
movaps xmm1, xmm6
mov r12d, eax
addss xmm0, xmm1
add r14, 0x28
addss xmm0, dword [rbp + rcx*4 - 0x6d]
movss dword [rbp + rcx*4 - 0x6d], xmm0
movsxd rcx, dword [rsp + rax*4 + 0x48]
lea eax, [rcx + 1]
mov dword [rsp + rdx*4 + 0x48], eax
mov rdx, rcx
mov rax, qword [rsi + 0x2118]
mov dword [rax + rcx*8], r15d
inc r15d
mov rcx, qword [rsi + 0x2118]
mov eax, dword [rbx + 0x18]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rbx + 0x18]
mov rcx, qword [rsp + 0x28]
mov edx, dword [rsp + 0x30]
mov dword [rbx + 0x14], eax
mov eax, dword [rdi]
cmp r15d, eax
jl 0x14008dde0
movss xmm11, dword [rbp - 0x5d]
mov r13d, dword [rbp - 0x65]
movss xmm12, dword [rbp - 0x69]
movss xmm9, dword [rbp - 0x6d]
movss xmm7, dword [rbp - 0x61]
movaps xmm2, xmm9
movss xmm10, dword [rbp - 0x55]
addss xmm2, xmm12
movss xmm8, dword [rbp - 0x51]
movaps xmm0, xmm7
addss xmm0, xmm11
movaps xmm1, xmm10
addss xmm1, xmm8
addss xmm2, xmm6
addss xmm2, xmm0
addss xmm2, xmm1
movss dword [rdi + 0x48], xmm2
movss xmm0, dword [rdi + 0x34]
subss xmm0, dword [rdi + 0x2c]
comiss xmm2, xmm0
jbe 0x14008df70
cmp eax, 1
jle 0x14008df70
mov eax, dword [rdi + 0x10]
test al, 0x10
jne 0x14008df70
test al, al
jns 0x14008df70
mov rcx, rdi
call fcn.14008e900
test rax, rax
je 0x14008df70
test dword [rax + 4], 0x200000
mov ecx, dword [rax]
mov dword [rsp + 0x20], ecx
jne 0x14008df70
mov dword [rdi + 0x18], ecx
movss xmm0, dword [rdi + 0x34]
movaps xmm3, xmm10
subss xmm0, dword [rdi + 0x2c]
addss xmm3, xmm8
movaps xmm2, xmm9
addss xmm2, xmm12
movaps xmm1, xmm3
addss xmm1, xmm2
comiss xmm0, xmm1
seta al
test al, al
je 0x14008dfb4
addss xmm7, xmm11
subss xmm0, xmm2
subss xmm0, xmm3
subss xmm7, xmm0
maxss xmm7, xmm6
jmp 0x14008dfbb
movaps xmm7, xmm1
subss xmm7, xmm0
comiss xmm7, xmm6
jbe 0x14008e275
test byte [rdi + 0x10], 0x40
jne 0x14008dfe9
test al, al
jne 0x14008e275
mov r13d, dword [rbp - 0x59]
mov edx, dword [rbp - 0x71]
add r13d, edx
test al, al
je 0x14008dff9
mov r14d, dword [rbp - 0x59]
add r14d, edx
jmp 0x14008dffc
test al, al
je 0x14008dfd2
mov r14d, dword [rbp - 0x59]
mov edx, dword [rbp - 0x71]
add r14d, edx
jmp 0x14008dffc
xor r14d, r14d
mov rax, qword [rsi + 0x2118]
movaps xmm2, xmm7
movsxd rbx, r14d
mov edx, r13d
lea rcx, [rax + rbx*8]
call fcn.14008d4e0
lea eax, [r14 + r13]
movsxd r9, eax
cmp rbx, r9
jge 0x14008e275
mov rax, r9
sub rax, rbx
cmp rax, 4
jl 0x14008e1f0
lea r10, [r9 - 3]
nop dword [rax]
mov rcx, qword [rsi + 0x2118]
mov r8, qword [rdi + 8]
movsxd rax, dword [rcx + rbx*8]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rbx*8 + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm6, xmm2
ja 0x14008e0a5
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x14008e072
xor eax, eax
jmp 0x14008e07f
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x6d]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x6d], xmm0
mov rcx, qword [rsi + 0x2118]
mov r8, qword [rdi + 8]
movsxd rax, dword [rcx + rbx*8 + 8]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rbx*8 + 0xc]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm6, xmm2
ja 0x14008e10b
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x14008e0d8
xor eax, eax
jmp 0x14008e0e5
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x6d]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x6d], xmm0
mov rcx, qword [rsi + 0x2118]
mov r8, qword [rdi + 8]
movsxd rax, dword [rcx + rbx*8 + 0x10]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rbx*8 + 0x14]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm6, xmm2
ja 0x14008e171
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x14008e13e
xor eax, eax
jmp 0x14008e14b
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x6d]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x6d], xmm0
mov rcx, qword [rsi + 0x2118]
mov r8, qword [rdi + 8]
movsxd rax, dword [rcx + rbx*8 + 0x18]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rbx*8 + 0x1c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm6, xmm2
ja 0x14008e1d7
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x14008e1a4
xor eax, eax
jmp 0x14008e1b1
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x6d]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x6d], xmm0
add rbx, 4
cmp rbx, r10
jl 0x14008e040
jmp 0x14008e258
mov rcx, qword [rsi + 0x2118]
mov r8, qword [rdi + 8]
movsxd rax, dword [rcx + rbx*8]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rbx*8 + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm6, xmm2
ja 0x14008e255
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x14008e222
xor eax, eax
jmp 0x14008e22f
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x6d]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x6d], xmm0
inc rbx
cmp rbx, r9
jl 0x14008e1f0
movss xmm9, dword [rbp - 0x6d]
movss xmm12, dword [rbp - 0x69]
movss xmm11, dword [rbp - 0x5d]
movss xmm10, dword [rbp - 0x55]
xor r9d, r9d
movaps xmm2, xmm6
mov dword [rsp + 0x38], r9d
xor r12d, r12d
mov dword [rdi + 0x44], r9d
nop word [rax + rax]
lea r13, [r12 + r12*2]
cmp r12, 2
jne 0x14008e2b9
movss xmm1, dword [rdi + 0x34]
movaps xmm0, xmm6
subss xmm1, dword [rdi + 0x2c]
subss xmm1, dword [rbp + r13*4 - 0x6d]
maxss xmm0, xmm1
minss xmm0, xmm2
movaps xmm2, xmm0
movsxd r14, dword [rbp + r13*4 - 0x71]
xor edx, edx
xor r15d, r15d
mov r11, r14
cmp r14, 4
jl 0x14008e3ce
movsxd rax, r9d
lea rbx, [r14 - 4]
shr rbx, 2
lea r10d, [r14 - 1]
lea r8d, [rdx + 2]
lea rcx, [rax + rax*4]
shl rcx, 3
inc rbx
lea r15, [rbx*4]
nop word [rax + rax]
mov rax, qword [rdi + 8]
movss dword [rcx + rax + 0x10], xmm2
cmp edx, r10d
jge 0x14008e319
movss xmm0, dword [rsi + 0x15c4]
jmp 0x14008e31c
movaps xmm0, xmm6
addss xmm0, dword [rcx + rax + 0x14]
mov r9, qword [rdi + 8]
lea eax, [r8 - 1]
addss xmm2, xmm0
movss dword [rcx + r9 + 0x38], xmm2
cmp eax, r10d
jge 0x14008e344
movss xmm0, dword [rsi + 0x15c4]
jmp 0x14008e347
movaps xmm0, xmm6
mov rax, qword [rdi + 8]
addss xmm0, dword [rcx + r9 + 0x3c]
addss xmm2, xmm0
movss dword [rcx + rax + 0x60], xmm2
cmp r8d, r10d
jge 0x14008e36b
movss xmm0, dword [rsi + 0x15c4]
jmp 0x14008e36e
movaps xmm0, xmm6
addss xmm0, dword [rcx + rax + 0x64]
mov r9, qword [rdi + 8]
lea eax, [r8 + 1]
addss xmm2, xmm0
movss dword [rcx + r9 + 0x88], xmm2
cmp eax, r10d
jge 0x14008e399
movss xmm0, dword [rsi + 0x15c4]
jmp 0x14008e39c
movaps xmm0, xmm6
addss xmm0, dword [rcx + r9 + 0x8c]
add edx, 4
add r8d, 4
add rcx, 0xa0
addss xmm2, xmm0
sub rbx, 1
jne 0x14008e300
mov r9d, dword [rsp + 0x38]
cmp r15, r11
jl 0x14008e3d3
jmp 0x14008e41a
test r14d, r14d
jle 0x14008e41a
movsxd rcx, r9d
lea r8d, [r14 - 1]
add rcx, r15
lea rax, [rcx + rcx*4]
shl rax, 3
sub r11, r15
mov rcx, qword [rdi + 8]
movss dword [rax + rcx + 0x10], xmm2
cmp edx, r8d
jge 0x14008e401
movss xmm0, dword [rsi + 0x15c4]
jmp 0x14008e404
movaps xmm0, xmm6
addss xmm0, dword [rax + rcx + 0x14]
inc edx
add rax, 0x28
addss xmm2, xmm0
sub r11, 1
jne 0x14008e3e8
movss xmm1, dword [rbp + r13*4 - 0x69]
inc r12
add r9d, dword [rbp + r13*4 - 0x71]
addss xmm2, xmm1
mov dword [rsp + 0x38], r9d
movaps xmm0, xmm1
addss xmm0, dword [rbp + r13*4 - 0x6d]
maxss xmm0, xmm6
addss xmm0, dword [rdi + 0x44]
movss dword [rdi + 0x44], xmm0
cmp r12, 3
jl 0x14008e290
cmp byte [rsp + 0x30], 0
jne 0x14008e462
mov dword [rdi + 0x18], 0
mov ecx, dword [rdi + 0x18]
mov eax, ecx
test ecx, ecx
jne 0x14008e486
cmp dword [rdi + 0x1c], ecx
jne 0x14008e486
mov r8, qword [rsp + 0x28]
test r8, r8
je 0x14008e486
mov r8d, dword [r8]
mov eax, r8d
mov dword [rdi + 0x18], r8d
jmp 0x14008e48b
mov r8d, dword [rsp + 0x20]
mov dword [rdi + 0x20], eax
mov byte [rdi + 0x6c], 0
test r8d, r8d
je 0x14008e5c8
mov edx, dword [rdi]
xor eax, eax
test edx, edx
jle 0x14008e5c8
mov rcx, qword [rdi + 8]
nop dword [rax + rax]
cmp dword [rcx], r8d
je 0x14008e4c4
inc eax
add rcx, 0x28
cmp eax, edx
jl 0x14008e4b0
jmp 0x14008e5c8
mov r8, qword [rdi + 8]
cdqe
lea rcx, [rax + rax*4]
lea rdx, [rcx*8]
add r8, rdx
je 0x14008e5c8
test byte [r8 + 4], 0xc0
jne 0x14008e5c8
movss xmm3, dword [rdi + 0x34]
movabs rax, 0x6666666666666667
subss xmm3, dword [rdi + 0x2c]
mov rcx, qword [0x14010a968]
imul rdx
movss xmm0, dword [rcx + 0x1990]
subss xmm3, xmm9
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
subss xmm3, xmm10
add rdx, rax
mov eax, dword [rbp - 0x71]
dec eax
subss xmm3, xmm11
cmp edx, eax
jle 0x14008e542
movaps xmm1, xmm0
xorps xmm1, xmmword [0x1400e08a0]
jmp 0x14008e545
movaps xmm1, xmm6
movss xmm2, dword [r8 + 0x10]
lea eax, [rdx + 1]
mov ecx, dword [rdi]
subss xmm2, xmm9
sub ecx, dword [rbp - 0x59]
addss xmm1, xmm2
cmp eax, ecx
jl 0x14008e568
movss xmm0, dword [0x1400e0808]
addss xmm2, dword [r8 + 0x14]
movss xmm4, dword [rdi + 0x50]
comiss xmm4, xmm1
mov dword [rdi + 0x54], 0
addss xmm2, xmm0
ja 0x14008e5b1
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jae 0x14008e5b1
subss xmm2, xmm3
comiss xmm2, xmm4
jbe 0x14008e5c8
subss xmm1, xmm3
movss dword [rdi + 0x50], xmm2
subss xmm1, dword [rdi + 0x4c]
maxss xmm1, xmm6
movss dword [rdi + 0x54], xmm1
jmp 0x14008e5c8
movss xmm0, dword [rdi + 0x4c]
subss xmm0, xmm2
movss dword [rdi + 0x50], xmm1
maxss xmm0, xmm6
movss dword [rdi + 0x54], xmm0
movss xmm7, dword [rdi + 0x2c]
movss xmm0, dword [rdi + 0x34]
movss xmm2, dword [rdi + 0x44]
subss xmm0, xmm7
movss xmm3, dword [rdi + 0x4c]
movaps xmm1, xmm2
movss xmm4, dword [rdi + 0x50]
subss xmm1, xmm0
minss xmm3, xmm1
maxss xmm3, xmm6
movss dword [rdi + 0x4c], xmm3
movss xmm5, dword [rdi + 0x34]
movaps xmm0, xmm5
subss xmm0, xmm7
subss xmm2, xmm0
minss xmm4, xmm2
maxss xmm4, xmm6
ucomiss xmm3, xmm4
movss dword [rdi + 0x50], xmm4
jp 0x14008e629
jne 0x14008e629
mov dword [rdi + 0x58], 0
jmp 0x14008e6b3
movss xmm0, dword [rsi + 0x1990]
movaps xmm1, xmm4
movss xmm2, dword [rdi + 0x58]
subss xmm1, xmm3
mulss xmm0, dword [0x1400e08fc]
mov eax, dword [rdi + 0x28]
inc eax
andps xmm1, xmmword [0x1400e0890]
maxss xmm2, xmm0
divss xmm1, dword [0x1400e07d8]
maxss xmm2, xmm1
movss dword [rdi + 0x58], xmm2
cmp eax, dword [rsi + 0x1ba0]
jl 0x14008e6ab
movss xmm1, dword [rsi + 0x1990]
mulss xmm1, dword [0x1400e0834]
movss xmm0, dword [rdi + 0x54]
comiss xmm0, xmm1
ja 0x14008e6ab
comiss xmm4, xmm3
mulss xmm2, dword [rsi + 0x18]
jbe 0x14008e69c
addss xmm3, xmm2
minss xmm3, xmm4
jmp 0x14008e6ae
comiss xmm3, xmm4
jbe 0x14008e6ae
subss xmm3, xmm2
maxss xmm3, xmm4
jmp 0x14008e6ae
movaps xmm3, xmm4
movss dword [rdi + 0x4c], xmm3
test dword [rdi + 0x10], 0x100000
addss xmm9, xmm7
subss xmm5, xmm10
addss xmm9, xmm12
subss xmm5, xmm11
movss dword [rdi + 0x5c], xmm9
movss dword [rdi + 0x60], xmm5
jne 0x14008e6e9
lea rcx, [rdi + 0x88]
xor edx, edx
call fcn.140073380
movsd xmm0, qword [rdi + 0x2c]
lea rcx, [rsp + 0x28]
mov rbx, qword [rsi + 0x1c20]
movsd qword [rbx + 0xd8], xmm0
movss xmm1, dword [rdi + 0x44]
movss xmm0, dword [rdi + 0x38]
subss xmm0, dword [rdi + 0x30]
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [rdi + 0x7c]
movss dword [rsp + 0x2c], xmm0
call fcn.140066080
movss xmm1, dword [rdi + 0x48]
addss xmm1, dword [rdi + 0x2c]
movss xmm0, dword [rbx + 0xf8]
maxss xmm0, xmm1
movss dword [rbx + 0xf8], xmm0
mov rcx, qword [rbp - 0x49]
xor rcx, rsp
call fcn.1400c23b0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret