Function at 0x18003f1d0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc88]
sub rsp, 0xd50
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x180079880]
xor rax, rsp
mov qword [rbp + 0xba0], rax
movss xmm1, dword [rsp + 0x40]
lea r15d, [rdx - 0xc]
movzx ebx, byte [rsp + 0x44]
lea r14, [0x180000000]
movss xmm5, dword [0x180072aec]
xor r11d, r11d
movss xmm0, dword [0x180072b1c]
mov rsi, r9
movss dword [rsp + 0x58], xmm1
mov r13, r8
movss xmm1, dword [rsp + 0x40]
mov r12, rcx
mov r8d, dword [rsp + 0x40]
lea edi, [r11 + 1]
mov qword [rbp - 0x50], r9
mov eax, edx
mov r9d, dword [rsp + 0x40]
movss dword [rsp + 0x74], xmm1
mov dword [rsp + 0x48], edx
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x68], edx
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x64], r9d
mov byte [rsp + 0x44], bl
cmp edx, r15d
jbe 0x18003fcd9
movss xmm4, dword [rsp + 0x40]
lea r11, [0x1800560b8]
mov rcx, qword [rbp - 0x80]
movss xmm3, dword [rsp + 0x40]
movss xmm2, dword [rsp + 0x40]
movss xmm1, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x40]
mov edi, dword [rsp + 0x40]
movss xmm7, dword [rsp + 0x40]
movss xmm6, dword [rsp + 0x40]
movss xmm8, dword [rsp + 0x40]
movss dword [rsp + 0x78], xmm4
movss xmm4, dword [rsp + 0x40]
movss dword [rsp + 0x7c], xmm4
movss dword [rsp + 0x6c], xmm3
movss dword [rsp + 0x68], xmm2
movss dword [rsp + 0x5c], xmm1
mov qword [rsp + 0x50], rcx
add eax, 0xffffffd1
cmp eax, 0x19
ja case.0x18003f31e.49
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x40f20]
add rcx, rdx
jmp rcx
xorps xmm3, xmm3
xorps xmm1, xmm1
movss dword [rsp + 0x6c], xmm3
movss dword [rsp + 0x58], xmm1
jmp case.0x18003f31e.49
mov eax, dword [r12 + 0xd6b4]
xor edx, edx
inc dword [r12 + 0x14]
mov r10, qword [rsp + 0x50]
mov qword [rbp - 0x58], rdx
lea ecx, [rax + rax*4]
add ecx, ecx
cmp dword [r12 + 0x14], ecx
jne 0x18003f969
mov dword [r12 + 0x14], edx
jmp 0x18003f969
movss dword [rsp + 0x78], xmm5
jmp case.0x18003f31e.49
mov ecx, dword [r12 + 0xd6b4]
lea r10, [0x1800560c8]
movss xmm3, dword [0x180072adc]
mov eax, 0x18
cdq
movss dword [rsp + 0x7c], xmm3
idiv ecx
mov r8d, eax
mov dword [rsp + 0x60], eax
mov eax, 4
cdq
idiv ecx
cmp dword [r12 + 0xd924], 0
mov r9d, eax
mov dword [rsp + 0x64], eax
cmovne r10, r11
mov qword [rsp + 0x50], r10
jmp 0x18003f969
mov rdx, qword [0x180079948]
xor r9d, r9d
xor ecx, ecx
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x66]
call fcn.1800374c0
test al, al
je 0x18003f47f
nop dword [rax]
cmp qword [r12 + 0x18], 0x10
mov r15, r12
jb 0x18003f3ff
mov r15, qword [r12]
mov r8, qword [r12 + 0x10]
test r8, r8
je 0x18003f423
mov edx, 0xa
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x18003f423
sub rbx, r15
jmp 0x18003f42a
mov rbx, 0xffffffffffffffff
mov rdx, r12
cmp rbx, 0xffffffffffffffff
jne 0x18003fc20
mov rcx, qword [0x180079948]
mov r9d, 0x129
xor r8d, r8d
call fcn.180043180
test al, al
je 0x18003fc19
mov rdx, qword [0x180079948]
lea r8d, [rbx + 0x67]
xor r9d, r9d
mov qword [rsp + 0x20], 0
xor ecx, ecx
call fcn.1800374c0
test al, al
jne 0x18003f3f0
mov r15d, dword [rsp + 0x70]
xor bl, bl
mov byte [rsp + 0x44], bl
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [0x180072b1c]
movss xmm5, dword [0x180072aec]
mov r8d, dword [rsp + 0x60]
jmp 0x18003f958
lea eax, [r9 + r8]
movsxd rcx, r9d
movsxd rdx, eax
cmp rcx, rdx
jge 0x18003f507
mov rax, rdx
sub rax, rcx
cmp rax, 4
jl 0x18003f4f1
lea rax, [rdx - 3]
addss xmm2, dword [rbp + rcx*4 + 0x1e0]
addss xmm2, dword [rbp + rcx*4 + 0x1e4]
addss xmm2, dword [rbp + rcx*4 + 0x1e8]
addss xmm2, dword [rbp + rcx*4 + 0x1ec]
add rcx, 4
cmp rcx, rax
jl 0x18003f4c4
cmp rcx, rdx
jge 0x18003f507
addss xmm2, dword [rbp + rcx*4 + 0x1e0]
inc rcx
cmp rcx, rdx
jl 0x18003f4f6
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [0x180072b1c]
movss dword [rsp + 0x68], xmm2
jmp case.0x18003f31e.49
mov dword [r13], 0
mov eax, dword [r12]
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x78], 1
jmp case.0x18003f31e.49
xor edx, edx
lea rcx, [rbp + 0x610]
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
xorps xmm1, xmm1
mov dword [rsp + 0x40], 0
movss dword [rsp + 0x74], xmm1
jmp 0x18003f485
mov r9, qword [r12 + 0xd6a8]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x80]
lea rax, [rbp + 0x990]
mov qword [rbp - 0x80], 1
mov qword [rsp + 0x28], rax
mov edx, 0x10b
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.18004c690
mov rax, qword [rbp - 0x58]
lea rcx, [r12 + 0x9060]
mov edx, 4
nop word [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x18003f5c0
mov rax, qword [rax]
lea r9, [rbp - 0x20]
mov qword [rcx], rax
lea r8, [rbp + 0x990]
lea rax, [rbp + 0x1e0]
mov rcx, r12
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x400]
lea rax, [rbp + 0x820]
mov qword [rsp + 0x20], rax
call qword [0x1800799c8]
xorps xmm2, xmm2
movss dword [rsp + 0x68], xmm2
jmp 0x18003f48b
subss xmm0, xmm2
xorps xmm1, xmm1
movss dword [rsp + 0x5c], xmm1
movss dword [rsp + 0x68], xmm0
movaps xmm2, xmm0
movss xmm0, dword [0x180072b1c]
jmp case.0x18003f31e.49
mov r11d, dword [rbp - 0x78]
mov r10d, dword [rbp - 0x74]
lea eax, [r11*8]
cmp eax, r10d
jge 0x18003f6e1
sar r10d, 1
movsxd r8, r11d
test r11d, r11d
jle 0x18003f6c4
mov rdx, r13
lea r9, [r8*4]
nop dword [rax + rax]
mov ecx, dword [rdx]
lea rdx, [rdx + 4]
add ecx, r10d
mov dword [r9 + rdx - 4], ecx
sub r8, 1
jne 0x18003f6b0
add r11d, r11d
lea eax, [r11*8]
cmp eax, r10d
jl 0x18003f692
mov r8d, dword [rsp + 0x60]
mov dword [rbp - 0x78], r11d
mov dword [rbp - 0x74], r10d
lea eax, [r11*8]
movsxd rcx, r11d
mov qword [rbp - 0x80], rcx
lea r9d, [r11 + r11]
cmp eax, r10d
jne 0x18003fadd
xor r10d, r10d
mov edx, r10d
mov r15d, r10d
mov dword [rbp - 0x6c], edx
test r11d, r11d
jle 0x18003f953
mov r11d, r10d
nop word [rax + rax]
mov ecx, 0x54
mov dword [rbp - 0x70], ecx
mov eax, ecx
sub eax, 0x54
je 0x18003f78b
sub eax, 1
je 0x18003f76d
sub eax, 1
je 0x18003f75f
cmp eax, 1
jne 0x18003f926
movsxd rax, r14d
movss dword [rsi + rax*4 + 4], xmm9
movsxd rax, edi
movss dword [rsi + rax*4], xmm7
movss dword [rsi + rax*4 + 4], xmm6
jmp 0x18003f926
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
jmp 0x18003f926
movsxd rax, r14d
movss xmm6, dword [rsi + rax*4 + 4]
movsxd rax, edi
movss xmm8, dword [rsi + rax*4]
movss xmm9, dword [rsi + rax*4 + 4]
jmp 0x18003f926
test r11d, r11d
jle 0x18003f90f
mov r8d, r10d
mov r12d, edx
mov r10, r13
nop dword [rax]
mov edx, 0xa3
nop word [rax + rax]
cmp edx, 0x39b
ja 0x18003f877
je 0x18003f8a5
cmp edx, 0x21f
ja 0x18003f839
je 0x18003f823
mov eax, edx
sub eax, 0xa3
je 0x18003f816
sub eax, 0x5f
je 0x18003f80b
sub eax, 0x5f
je 0x18003f8ce
cmp eax, 0x5f
jne 0x18003f8e5
movsxd rax, edi
movss xmm9, dword [rsi + rax*4 + 4]
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
movss dword [rsi + rax*4 + 4], xmm9
jmp 0x18003f8e5
mov edi, dword [r10]
add edi, r11d
jmp 0x18003f8e5
mov r14d, dword [r13 + r15*4]
add r14d, r8d
jmp 0x18003f8e5
movsxd rax, edi
add r14d, r9d
movss dword [rsi + rax*4], xmm7
movss dword [rsi + rax*4 + 4], xmm6
jmp 0x18003f8e5
mov eax, edx
sub eax, 0x27e
je 0x18003fa79
sub eax, 0x5f
je 0x18003f85c
cmp eax, 0x5f
jne 0x18003f8e5
movsxd rax, r14d
jmp 0x18003fab4
movsxd rax, edi
movss xmm8, dword [rsi + rax*4]
movss xmm9, dword [rsi + rax*4 + 4]
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
jmp 0x18003f8e5
cmp edx, 0x517
ja 0x18003fa90
je 0x18003fa79
mov eax, edx
sub eax, 0x3fa
je 0x18003f8cb
sub eax, 0x5f
je 0x18003f8aa
cmp eax, 0x5f
jne 0x18003f8e5
movsxd rax, edi
movss dword [rsi + rax*4 + 4], xmm6
add r14d, r9d
jmp 0x18003f8e5
movsxd rcx, edi
movsxd rax, r14d
movss xmm9, dword [rsi + rcx*4 + 4]
movss dword [rsi + rax*4 + 4], xmm9
movss dword [rsi + rax*4], xmm8
movss dword [rsi + rcx*4], xmm7
jmp 0x18003f8e5
sub edi, r9d
movsxd rax, r14d
movss xmm7, dword [rsi + rax*4]
movss xmm6, dword [rsi + rax*4 + 4]
movsxd rax, edi
movss xmm8, dword [rsi + rax*4]
add edx, 0x5f
cmp edx, 0x693
jb 0x18003f7b0
add r8d, 2
add r10, 4
sub r12, 1
jne 0x18003f7a0
mov ecx, dword [rbp - 0x70]
xor r10d, r10d
mov edx, dword [rbp - 0x6c]
mov r14d, dword [r13 + r15*4]
add r14d, r11d
add r14d, r9d
movsxd rax, r14d
lea edi, [r14 + r9]
movss xmm7, dword [rsi + rax*4]
inc ecx
mov dword [rbp - 0x70], ecx
cmp ecx, 0x58
jb 0x18003f728
inc edx
add r11d, 2
inc r15
mov dword [rbp - 0x6c], edx
cmp r15, qword [rbp - 0x80]
jl 0x18003f720
mov r12, qword [rbp - 0x60]
mov r8d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x64]
lea r11, [0x1800560b8]
mov r10, qword [rsp + 0x50]
mov eax, dword [rbp - 0x68]
dec eax
mov dword [rbp - 0x68], eax
cmp eax, r15d
ja 0x18003f301
mov edx, dword [rsp + 0x48]
lea r14, [0x180000000]
xor r11d, r11d
lea edi, [r11 + 1]
cmp edx, r15d
jbe case.0x18003f31e.47
movss xmm0, dword [0x180072a9c]
movss xmm3, dword [0x180072b14]
movss xmm4, dword [0x180072ab4]
movss xmm5, dword [0x180072a84]
movss xmm6, dword [0x180072a80]
movss xmm1, dword [0x180072b04]
movss xmm2, dword [0x180072af0]
movss xmm8, dword [0x180072c38]
movss xmm9, dword [0x180072bfc]
movss xmm7, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x70]
movaps xmmword [rsp + 0xd00], xmm10
movss xmm10, dword [0x180072ad8]
movaps xmmword [rsp + 0xcf0], xmm11
movss xmm11, dword [0x180072cd0]
movaps xmmword [rsp + 0xce0], xmm12
movss xmm12, dword [0x180072aa0]
movaps xmmword [rsp + 0xcd0], xmm13
movss xmm13, dword [0x180072b00]
movaps xmmword [rsp + 0xcc0], xmm14
movss xmm14, dword [0x180072a64]
movaps xmmword [rsp + 0xcb0], xmm15
movss xmm15, dword [0x180072b10]
movsxd r15, r9d
nop dword [rax + rax]
lea eax, [rdx - 0x31]
cmp eax, 0xb
ja case.default.0x18003fa77
mov ecx, dword [r14 + rax*4 + 0x40f88]
add rcx, r14
jmp rcx
movsxd rax, r14d
lea edi, [rdi + r9*2]
movss xmm7, dword [rsi + rax*4]
movss xmm6, dword [rsi + rax*4 + 4]
jmp 0x18003f8e5
mov eax, edx
sub eax, 0x576
je 0x18003f8dc
sub eax, 0x5f
je 0x18003face
cmp eax, 0x5f
jne 0x18003f8e5
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
movss dword [rsi + rax*4 + 4], xmm9
movsxd rax, edi
movss dword [rsi + rax*4], xmm7
movss dword [rsi + rax*4 + 4], xmm6
jmp 0x18003f8e5
movsxd rax, edi
movss xmm9, dword [rsi + rax*4 + 4]
jmp 0x18003f8e5
mov r12d, 1
mov r10d, r12d
cmp r12, rcx
jge 0x18003fc10
lea r11d, [r12 + 1]
test r12d, r12d
jle 0x18003fbf8
xor edx, edx
mov r15d, r12d
mov r8, r13
nop word [rax + rax]
mov ecx, 0x10c
cmp ecx, 0x2a1
ja 0x18003fb88
je 0x18003fb6f
cmp ecx, 0x10c
je 0x18003fb5f
cmp ecx, 0x193
je 0x18003fb55
cmp ecx, 0x21a
jne 0x18003fbd1
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
movss dword [rsi + rax*4 + 4], xmm9
movsxd rax, edi
movss dword [rsi + rax*4], xmm7
jmp 0x18003fbd1
movsxd rax, r14d
movss xmm7, dword [rsi + rax*4]
jmp 0x18003fbbb
mov r14d, dword [r13 + r10*4]
mov edi, dword [r8]
add r14d, edx
add edi, r11d
jmp 0x18003fbd1
movsxd rax, edi
add r14d, r9d
add edi, r9d
movss dword [rsi + rax*4 + 4], xmm6
movsxd rax, r14d
movss xmm7, dword [rsi + rax*4]
jmp 0x18003fbd1
cmp ecx, 0x328
je 0x18003fbb8
cmp ecx, 0x3af
jne 0x18003fbd1
movsxd rax, r14d
movss dword [rsi + rax*4], xmm8
movss dword [rsi + rax*4 + 4], xmm9
movsxd rax, edi
movss dword [rsi + rax*4], xmm7
movss dword [rsi + rax*4 + 4], xmm6
jmp 0x18003fbd1
movsxd rax, r14d
movss xmm6, dword [rsi + rax*4 + 4]
movsxd rax, edi
movss xmm9, dword [rsi + rax*4 + 4]
movss xmm8, dword [rsi + rax*4]
add ecx, 0x87
cmp ecx, 0x436
jb 0x18003fb15
add edx, 2
add r8, 4
sub r15, 1
jne 0x18003fb10
mov rcx, qword [rbp - 0x80]
inc r12d
add r11d, 2
inc r10
cmp r10, rcx
jl 0x18003faf4
jmp 0x18003f94a
mov r12, qword [rbp - 0x60]
jmp 0x18003f958
xor al, al
jmp 0x180040ee2
cmp qword [r12 + 0x10], rbx
lea rdi, [r12 + 0x10]
mov r8, rbx
mov qword [rbp - 0x38], 0
cmovb r8, qword [rdi]
cmp qword [r12 + 0x18], 0x10
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
jb 0x18003fc51
mov rdx, qword [r12]
lea rcx, [rbp - 0x48]
call fcn.18003e0a0
lea rdx, [rbp - 0x48]
mov rcx, r13
call fcn.1800032e0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18003fca4
mov rcx, qword [rbp - 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003fc9f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003fc9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800504dc
mov r8, qword [rdi]
inc rbx
cmp r8, rbx
cmovb rbx, r8
cmp qword [r12 + 0x18], 0x10
jb 0x18003fcbd
mov r12, qword [r12]
sub r8, rbx
lea rdx, [r12 + rbx]
mov qword [rdi], r8
mov rcx, r12
inc r8
call sub.VCRUNTIME140.dll_memmove
mov al, 1
jmp 0x180040ee2
movss xmm0, dword [rsp + 0x40]
mov r10, qword [rbp - 0x80]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rsp + 0x5c], xmm0
mov qword [rsp + 0x50], r10
jmp 0x18003f98c
movss xmm0, dword [r12 + 0xd578]
movss xmm3, dword [0x180072b1c]
ucomiss xmm0, xmm3
jp 0x18003ff35
jne 0x18003ff35
cmp word [r12 + 0xd694], 1
movsxd rax, dword [r12 + 0xd58c]
mov word [r12 + 0xd696], r11w
mov ecx, dword [r10 + rax*4]
mov dword [r12 + 0xd584], ecx
jne 0x18003fdfe
lea rcx, [rbp + 0x2f0]
mov edx, 2
lea rax, [rbp + 0x820]
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x18003fd90
movss xmm1, dword [rsp + 0x5c]
mov eax, dword [rax]
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x58], xmm1
mov dword [rcx], eax
jmp 0x1800402d9
movaps xmm2, xmmword [0x180072c90]
mov rcx, r11
nop dword [rax + rax]
movups xmm0, xmmword [rbp + rcx*4 + 0x1e0]
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x1f0]
movups xmmword [rbp + rcx*4 + 0x2f0], xmm1
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x200]
movups xmmword [rbp + rcx*4 + 0x300], xmm1
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x210]
movups xmmword [rbp + rcx*4 + 0x310], xmm1
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmmword [rbp + rcx*4 + 0x320], xmm1
add rcx, 0x10
cmp rcx, 0x40
jl 0x18003fe10
cmp rcx, 0x41
jge 0x18003ff1e
mov eax, 0x41
sub rax, rcx
cmp rax, 4
jl 0x18003feee
nop word [rax + rax]
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [rbp + rcx*4 + 0x1e0]
subss xmm1, dword [rbp + rcx*4 + 0x1e4]
movss dword [rbp + rcx*4 + 0x2f0], xmm0
movaps xmm0, xmm3
subss xmm0, dword [rbp + rcx*4 + 0x1e8]
movss dword [rbp + rcx*4 + 0x2f4], xmm1
movaps xmm1, xmm3
subss xmm1, dword [rbp + rcx*4 + 0x1ec]
movss dword [rbp + rcx*4 + 0x2f8], xmm0
movss dword [rbp + rcx*4 + 0x2fc], xmm1
add rcx, 4
cmp rcx, 0x3e
jl 0x18003fe90
cmp rcx, 0x41
jae 0x18003ff1e
lea rcx, [rcx*4]
movaps xmm0, xmm3
subss xmm0, dword [rbp + rcx + 0x1e0]
movss dword [rbp + rcx + 0x2f0], xmm0
add rcx, 4
cmp rcx, 0x104
jl 0x18003fefc
movss xmm1, dword [rsp + 0x68]
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x58], xmm1
jmp 0x1800402d9
cmp word [r12 + 0xd694], 1
jne 0x180040023
movss xmm6, dword [rsp + 0x5c]
mov r8d, 0x119
mov eax, r8d
sub eax, 0x117
je 0x180040005
sub eax, 1
je 0x18003ff81
movss xmm1, dword [rsp + 0x58]
cmp eax, 1
jne 0x18004000e
mov word [r12 + 0xd696], r11w
jmp 0x18004000e
lea rcx, [rbp + 0x2f0]
mov edx, 2
lea rax, [rbp + 0x820]
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x18003ffa0
mov eax, dword [rax]
movss xmm1, dword [rsp + 0x58]
mov dword [rcx], eax
movss dword [rsp + 0x6c], xmm6
jmp 0x18004000e
movss dword [rsp + 0x58], xmm6
movaps xmm1, xmm6
dec r8d
cmp r8d, 0x116
ja 0x18003ff51
jmp 0x1800402d1
movss xmm10, dword [rsp + 0x78]
mov r14d, 0xde
movss xmm9, dword [rsp + 0x7c]
movsxd rsi, dword [rsp + 0x60]
nop dword [rax]
mov eax, r14d
sub eax, 0xde
je 0x1800400b0
cmp eax, 1
jne 0x180040297
lea eax, [rsi - 1]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movaps xmm0, xmm6
mulss xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si eax, xmm0
mulss xmm6, xmm9
movsxd rcx, eax
movss xmm0, dword [rbp + rcx*4 + 0x930]
movss dword [rsp + 0x6c], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movss xmm3, dword [0x180072b1c]
cvttss2si eax, xmm0
movsxd rcx, eax
movss xmm1, dword [rbp + rcx*4 + 0x930]
movss dword [rsp + 0x58], xmm1
jmp 0x18004029d
movaps xmm2, xmmword [0x180072c90]
mov rcx, r11
mov word [r12 + 0xd696], di
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbp + rcx*4 + 0x1e0]
movaps xmm1, xmm2
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x820]
minps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [rbp + rcx*4 + 0x2f0], xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x1f0]
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x830]
minps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [rbp + rcx*4 + 0x300], xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x200]
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x840]
minps xmm0, xmm1
movaps xmm1, xmm2
movups xmmword [rbp + rcx*4 + 0x310], xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x210]
subps xmm1, xmm0
movups xmm0, xmmword [rbp + rcx*4 + 0x850]
minps xmm0, xmm1
movups xmmword [rbp + rcx*4 + 0x320], xmm0
add rcx, 0x10
cmp rcx, 0x40
jl 0x1800400d0
cmp rcx, 0x41
jge 0x180040253
mov eax, 0x41
sub rax, rcx
cmp rax, 4
jl 0x180040216
nop
movss xmm0, dword [rbp + rcx*4 + 0x820]
movaps xmm1, xmm3
subss xmm1, dword [rbp + rcx*4 + 0x1e0]
movaps xmm2, xmm3
subss xmm2, dword [rbp + rcx*4 + 0x1e4]
minss xmm0, xmm1
movaps xmm1, xmm3
subss xmm1, dword [rbp + rcx*4 + 0x1e8]
movss dword [rbp + rcx*4 + 0x2f0], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x824]
minss xmm0, xmm2
movaps xmm2, xmm3
subss xmm2, dword [rbp + rcx*4 + 0x1ec]
movss dword [rbp + rcx*4 + 0x2f4], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x828]
minss xmm0, xmm1
movss dword [rbp + rcx*4 + 0x2f8], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x82c]
minss xmm0, xmm2
movss dword [rbp + rcx*4 + 0x2fc], xmm0
add rcx, 4
cmp rcx, 0x3e
jl 0x180040180
cmp rcx, 0x41
jae 0x180040253
lea rcx, [rcx*4]
movss xmm0, dword [rbp + rcx + 0x820]
movaps xmm1, xmm3
subss xmm1, dword [rbp + rcx + 0x1e0]
minss xmm0, xmm1
movss dword [rbp + rcx + 0x2f0], xmm0
add rcx, 4
cmp rcx, 0x104
jl 0x180040224
lea rdx, [rbp + 0x2f0]
lea rdx, [rdx + r15*4]
lea r8, [rsi*4]
lea rcx, [rbp + 0x930]
call sub.VCRUNTIME140.dll_memcpy
lea r9, [0x1800056b0]
mov r8d, 4
mov rdx, rsi
lea rcx, [rbp + 0x930]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
movss xmm3, dword [0x180072b1c]
movss xmm1, dword [rsp + 0x58]
mov edi, 1
inc r14d
lea r11d, [rdi - 1]
cmp r14d, 0xe0
jb 0x180040040
movss xmm9, dword [0x180072bfc]
movss xmm10, dword [0x180072ad8]
mov rsi, qword [rbp - 0x50]
mov r10, qword [rsp + 0x50]
movss xmm6, dword [0x180072a80]
movss xmm0, dword [0x180072ae0]
comiss xmm0, xmm1
jbe 0x180040e49
movss xmm0, dword [r12 + 0xd574]
xor r11d, r11d
mov edx, dword [rsp + 0x48]
mov edi, 1
comiss xmm0, xmm1
movss xmm0, dword [0x180072a9c]
jbe case.default.0x18003fa77
movss dword [r12 + 0xd574], xmm1
movss dword [r12 + 0xd570], xmm1
mov qword [r12 + 0xd57c], rdi
jmp case.default.0x18003fa77
cmp dword [r12 + 0xd57c], 1
jne case.default.0x18003fa77
inc dword [r12 + 0xd580]
jmp case.default.0x18003fa77
cmp dword [r12 + 0xd73c], 1
jne 0x18004037e
lea r9, [r12 + 0xd720]
xor r8d, r8d
lea rdx, [rbp + 0x400]
mov ecx, 0xd7
call fcn.180020080
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movss xmm0, dword [rbp + 0x400]
xor r11d, r11d
movss dword [rbp - 0x20], xmm0
movss xmm0, dword [0x180072a9c]
jmp case.default.0x18003fa77
cmp dword [r12 + 0xd580], 2
jne case.default.0x18003fa77
movss xmm0, dword [r12 + 0xd570]
movsxd rdi, dword [r12 + 0xd58c]
addss xmm0, xmm14
mov qword [r12 + 0xd57c], 0
call sub.api_ms_win_crt_math_l1_1_0.dll_logf
movss xmm1, dword [r14 + rdi*4 + 0x560a8]
addss xmm0, xmm14
mov r10, qword [rsp + 0x50]
divss xmm1, xmm0
maxss xmm1, dword [r10 + rdi*4]
movss dword [r12 + 0xd584], xmm1
jmp 0x180040e49
movss xmm1, dword [r12 + 0xd584]
movss xmm2, dword [r12 + 0xd588]
comiss xmm2, xmm1
jbe 0x180040426
mulss xmm1, xmm0
mulss xmm2, xmm3
addss xmm1, xmm2
jmp 0x180040439
movaps xmm0, xmm1
mulss xmm2, xmm13
mulss xmm0, xmm4
movaps xmm1, xmm2
addss xmm1, xmm0
movss xmm2, dword [rsp + 0x6c]
lea r9, [rbp + 0x400]
lea rdx, [rbp + 0x2f0]
movss dword [r12 + 0xd588], xmm1
mov rcx, r12
call qword [0x1800799b8]
mov r9, qword [r12 + 0xa48]
lea rax, [rbp + 0x2f0]
lea r8, [rbp + 0x610]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x400]
mov rcx, r12
call qword [0x1800799c0]
mov r10, qword [rsp + 0x50]
jmp 0x180040e4e
movd xmm2, dword [r12 + 0xd6b4]
movaps xmm0, xmm5
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm6
divss xmm0, xmm2
divss xmm1, xmm2
addss xmm0, dword [r12 + 0xd574]
addss xmm1, dword [r12 + 0xd578]
minss xmm0, dword [0x180072b1c]
minss xmm1, dword [0x180072b1c]
movss dword [r12 + 0xd574], xmm0
movss dword [r12 + 0xd578], xmm1
nop dword [rax + rax]
movss xmm0, dword [0x180072a9c]
jmp case.default.0x18003fa77
xor r9d, r9d
lea rcx, [rbp - 0x20]
xor r8d, r8d
mov edx, 0x122
call fcn.18001cf20
mov r10, qword [rsp + 0x50]
movaps xmm7, xmm12
jmp 0x180040e4e
lea rax, [r12 + 0x38]
mov edx, 2
lea rcx, [r12 + 0x138]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x180040531
lea rax, [r12 + 0x238]
mov edx, 2
lea rcx, [r12 + 0x338]
nop dword [rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x1800405a0
cmp dword [r12 + 0xd6b8], 0x7d00
jne 0x180040673
lea rax, [r12 + 0x438]
mov edx, 2
lea rcx, [r12 + 0x538]
nop word [rax + rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x180040620
lea rdx, [r12 + 0x9060]
mov r8d, 0x3ef8
lea rcx, [r12 + 0x9268]
call sub.VCRUNTIME140.dll_memmove
mov r10, qword [rsp + 0x50]
jmp 0x180040e4e
lea eax, [r9 + r8]
mov rcx, r15
movsxd rdx, eax
cmp r15, rdx
jge 0x180040e59
movss xmm1, dword [rsp + 0x5c]
mov rax, rdx
sub rax, r15
cmp rax, 4
jl 0x1800406f4
lea rax, [rdx - 3]
addss xmm1, dword [rbp + rcx*4 + 0x820]
addss xmm1, dword [rbp + rcx*4 + 0x824]
addss xmm1, dword [rbp + rcx*4 + 0x828]
addss xmm1, dword [rbp + rcx*4 + 0x82c]
add rcx, 4
cmp rcx, rax
jl 0x1800406c1
movss dword [rsp + 0x5c], xmm1
cmp rcx, rdx
jge 0x180040e59
addss xmm1, dword [rbp + rcx*4 + 0x820]
inc rcx
cmp rcx, rdx
jl 0x1800406fd
movss dword [rsp + 0x5c], xmm1
jmp 0x180040e59
movss xmm0, dword [rbp + 0x500]
mov rcx, rdi
movss dword [rbp - 0x1c], xmm0
nop dword [rax]
movss xmm0, dword [rbp + rcx*4 + 0x504]
mov eax, dword [rbp + rcx*4 + 0x400]
xorps xmm0, xmm11
movss dword [rbp + rcx*8 - 0x1c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x508]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 - 0x20], eax
mov eax, dword [rbp + rcx*4 + 0x404]
movss dword [rbp + rcx*8 - 0x14], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x50c]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 - 0x18], eax
mov eax, dword [rbp + rcx*4 + 0x408]
movss dword [rbp + rcx*8 - 0xc], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x510]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 - 0x10], eax
mov eax, dword [rbp + rcx*4 + 0x40c]
movss dword [rbp + rcx*8 - 4], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x514]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 - 8], eax
mov eax, dword [rbp + rcx*4 + 0x410]
movss dword [rbp + rcx*8 + 4], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x518]
xorps xmm0, xmm11
mov dword [rbp + rcx*8], eax
mov eax, dword [rbp + rcx*4 + 0x414]
movss dword [rbp + rcx*8 + 0xc], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x51c]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 8], eax
mov eax, dword [rbp + rcx*4 + 0x418]
movss dword [rbp + rcx*8 + 0x14], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x520]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x10], eax
mov eax, dword [rbp + rcx*4 + 0x41c]
movss dword [rbp + rcx*8 + 0x1c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x524]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x18], eax
mov eax, dword [rbp + rcx*4 + 0x420]
movss dword [rbp + rcx*8 + 0x24], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x528]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x20], eax
mov eax, dword [rbp + rcx*4 + 0x424]
movss dword [rbp + rcx*8 + 0x2c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x52c]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x28], eax
mov eax, dword [rbp + rcx*4 + 0x428]
movss dword [rbp + rcx*8 + 0x34], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x530]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x30], eax
mov eax, dword [rbp + rcx*4 + 0x42c]
movss dword [rbp + rcx*8 + 0x3c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x534]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x38], eax
mov eax, dword [rbp + rcx*4 + 0x430]
movss dword [rbp + rcx*8 + 0x44], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x538]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x40], eax
mov eax, dword [rbp + rcx*4 + 0x434]
movss dword [rbp + rcx*8 + 0x4c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x53c]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x48], eax
mov eax, dword [rbp + rcx*4 + 0x438]
movss dword [rbp + rcx*8 + 0x54], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x540]
mov dword [rbp + rcx*8 + 0x50], eax
xorps xmm0, xmm11
mov eax, dword [rbp + rcx*4 + 0x43c]
mov dword [rbp + rcx*8 + 0x58], eax
mov eax, dword [rbp + rcx*4 + 0x440]
movss dword [rbp + rcx*8 + 0x5c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x544]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x60], eax
mov eax, dword [rbp + rcx*4 + 0x444]
movss dword [rbp + rcx*8 + 0x64], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x548]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x68], eax
mov eax, dword [rbp + rcx*4 + 0x448]
movss dword [rbp + rcx*8 + 0x6c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x54c]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x70], eax
mov eax, dword [rbp + rcx*4 + 0x44c]
movss dword [rbp + rcx*8 + 0x74], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x550]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x78], eax
mov eax, dword [rbp + rcx*4 + 0x450]
movss dword [rbp + rcx*8 + 0x7c], xmm0
movss xmm0, dword [rbp + rcx*4 + 0x554]
xorps xmm0, xmm11
mov dword [rbp + rcx*8 + 0x80], eax
movss dword [rbp + rcx*8 + 0x84], xmm0
add rcx, 0x15
cmp rcx, 0x40
jl 0x180040730
movss xmm0, dword [0x180072a9c]
jmp case.default.0x18003fa77
movss xmm4, dword [rsp + 0x5c]
movss xmm3, dword [rsp + 0x68]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
movss xmm0, dword [0x180072aec]
comiss xmm0, xmm3
movss dword [rsp + 0x5c], xmm4
jbe 0x180040a0b
movss xmm0, dword [r12 + 0xd578]
comiss xmm0, xmm3
jbe 0x180040a0b
movss dword [r12 + 0xd578], xmm3
comiss xmm4, xmm15
jbe 0x180040a2d
comiss xmm3, xmm13
jbe 0x180040a2d
movss xmm0, dword [0x180072a9c]
mov word [r12 + 0xd694], di
jmp case.default.0x18003fa77
comiss xmm1, xmm4
ja 0x180040a3b
comiss xmm2, xmm3
jbe 0x1800404f0
movss xmm0, dword [0x180072a9c]
mov word [r12 + 0xd694], r11w
jmp case.default.0x18003fa77
mov r11, r13
lea r9, [rbp + 0xe0]
lea rdi, [0x1800528a0]
sub r11, r12
sub r9, r12
lea r8, [rbp - 0x20]
sub rdi, r12
lea rax, [r12 + 0xd590]
sub r8, r12
lea r10, [0x1800529a0]
mov r14d, 0x40
nop word [rax + rax]
mov edx, 0xfe
mov ecx, edx
sub ecx, 0xfe
je 0x180040aed
sub ecx, 1
je 0x180040acb
cmp ecx, 1
jne 0x180040b11
movaps xmm1, xmm8
movaps xmm0, xmm9
maxss xmm1, dword [r8 + rax - 0xd590]
minss xmm0, xmm1
movss dword [r11 + rax - 0xd590], xmm0
jmp 0x180040b11
movaps xmm0, xmm7
mulss xmm0, dword [r9 + rax - 0xd590]
movss dword [r9 + rax - 0xd590], xmm0
mulss xmm0, dword [r10]
movss dword [rax], xmm0
jmp 0x180040b11
movaps xmm0, xmm7
mulss xmm0, dword [r8 + rax - 0xd590]
mulss xmm0, dword [rdi + rax - 0xd590]
addss xmm0, dword [rax]
movss dword [r8 + rax - 0xd590], xmm0
inc edx
cmp edx, 0x101
jb 0x180040a95
add rax, 4
sub r10, 4
sub r14, 1
jne 0x180040a90
cmp dword [r12 + 0xd6b8], 0x7d00
jne 0x180040e44
lea r8, [rsp + 0x40]
mov ecx, 0xd6
lea rdx, [rbp + 0x2f0]
call fcn.18000da60
mov edi, 0xa2
nop
mov eax, edi
sub eax, 0xa1
je 0x180040d98
cmp eax, 1
jne 0x180040d9c
movss xmm0, dword [rbp + 0x610]
xor eax, eax
movss xmm1, dword [rbp + 0x810]
mov ecx, eax
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
mov eax, dword [rbp + rcx + 0x618]
mov dword [rbp + rcx - 0x18], eax
mov eax, dword [rbp + rcx + 0x61c]
mov dword [rbp + rcx - 0x14], eax
mov eax, dword [rbp + rcx + 0x620]
mov dword [rbp + rcx - 0x10], eax
mov eax, dword [rbp + rcx + 0x624]
mov dword [rbp + rcx - 0xc], eax
mov eax, dword [rbp + rcx + 0x628]
mov dword [rbp + rcx - 8], eax
mov eax, dword [rbp + rcx + 0x62c]
mov dword [rbp + rcx - 4], eax
mov eax, dword [rbp + rcx + 0x630]
mov dword [rbp + rcx], eax
mov eax, dword [rbp + rcx + 0x634]
mov dword [rbp + rcx + 4], eax
mov eax, dword [rbp + rcx + 0x638]
mov dword [rbp + rcx + 8], eax
mov eax, dword [rbp + rcx + 0x63c]
mov dword [rbp + rcx + 0xc], eax
mov eax, dword [rbp + rcx + 0x640]
mov dword [rbp + rcx + 0x10], eax
mov eax, dword [rbp + rcx + 0x644]
mov dword [rbp + rcx + 0x14], eax
mov eax, dword [rbp + rcx + 0x648]
mov dword [rbp + rcx + 0x18], eax
mov eax, dword [rbp + rcx + 0x64c]
mov dword [rbp + rcx + 0x1c], eax
mov eax, dword [rbp + rcx + 0x650]
mov dword [rbp + rcx + 0x20], eax
mov eax, dword [rbp + rcx + 0x654]
mov dword [rbp + rcx + 0x24], eax
mov eax, dword [rbp + rcx + 0x658]
mov dword [rbp + rcx + 0x28], eax
mov eax, dword [rbp + rcx + 0x65c]
mov dword [rbp + rcx + 0x2c], eax
mov eax, dword [rbp + rcx + 0x660]
mov dword [rbp + rcx + 0x30], eax
mov eax, dword [rbp + rcx + 0x664]
mov dword [rbp + rcx + 0x34], eax
mov eax, dword [rbp + rcx + 0x668]
mov dword [rbp + rcx + 0x38], eax
mov eax, dword [rbp + rcx + 0x66c]
mov dword [rbp + rcx + 0x3c], eax
mov eax, dword [rbp + rcx + 0x670]
mov dword [rbp + rcx + 0x40], eax
mov eax, dword [rbp + rcx + 0x674]
mov dword [rbp + rcx + 0x44], eax
mov eax, dword [rbp + rcx + 0x678]
mov dword [rbp + rcx + 0x48], eax
mov eax, dword [rbp + rcx + 0x67c]
mov dword [rbp + rcx + 0x4c], eax
mov eax, dword [rbp + rcx + 0x680]
mov dword [rbp + rcx + 0x50], eax
mov eax, dword [rbp + rcx + 0x684]
mov dword [rbp + rcx + 0x54], eax
mov eax, dword [rbp + rcx + 0x688]
mov dword [rbp + rcx + 0x58], eax
mov eax, dword [rbp + rcx + 0x68c]
mov dword [rbp + rcx + 0x5c], eax
mov eax, dword [rbp + rcx + 0x690]
mov dword [rbp + rcx + 0x60], eax
mov eax, dword [rbp + rcx + 0x694]
mov dword [rbp + rcx + 0x64], eax
mov eax, dword [rbp + rcx + 0x698]
mov dword [rbp + rcx + 0x68], eax
mov eax, dword [rbp + rcx + 0x69c]
mov dword [rbp + rcx + 0x6c], eax
mov eax, dword [rbp + rcx + 0x6a0]
mov dword [rbp + rcx + 0x70], eax
mov eax, dword [rbp + rcx + 0x6a4]
mov dword [rbp + rcx + 0x74], eax
mov eax, dword [rbp + rcx + 0x6a8]
mov dword [rbp + rcx + 0x78], eax
mov eax, dword [rbp + rcx + 0x6ac]
mov dword [rbp + rcx + 0x7c], eax
mov eax, dword [rbp + rcx + 0x6b0]
mov dword [rbp + rcx + 0x80], eax
mov eax, dword [rbp + rcx + 0x6b4]
mov dword [rbp + rcx + 0x84], eax
mov eax, dword [rbp + rcx + 0x6b8]
mov dword [rbp + rcx + 0x88], eax
mov eax, dword [rbp + rcx + 0x6bc]
mov dword [rbp + rcx + 0x8c], eax
add rcx, 0xa8
cmp rcx, 0x1f8
jl 0x180040b94
xor r9d, r9d
lea rcx, [rbp - 0x20]
xor r8d, r8d
mov edx, 0x122
call fcn.18001cf20
jmp 0x180040d9c
movaps xmm7, xmm12
dec edi
cmp edi, 0xa0
ja 0x180040b60
movss xmm2, dword [rsp + 0x40]
lea rax, [rbp - 0x20]
movss xmm6, dword [rsp + 0x74]
lea rdx, [rbp - 0x20]
mov r9, r12
mov r8, rsi
sub r9, rsi
mov r10d, 0x40
sub r8, rax
mov ecx, 0x3e
cmp ecx, 0x3e
je 0x180040dfa
cmp ecx, 0x8f6
jne 0x180040e1e
movaps xmm1, xmm8
movaps xmm0, xmm9
maxss xmm1, xmm6
minss xmm0, xmm1
movss dword [r8 + rdx], xmm0
jmp 0x180040e1e
movaps xmm0, xmm7
lea rax, [r9 + r8]
mulss xmm0, dword [rdx]
movaps xmm6, xmm2
mulss xmm6, dword [rax + rdx + 0x438]
movss dword [rdx], xmm0
mulss xmm0, xmm10
addss xmm6, xmm0
add ecx, 0x8b8
cmp ecx, 0x1170
jbe 0x180040dd5
add rdx, 4
movss dword [rsp + 0x74], xmm6
sub r10, 1
jne 0x180040dd0
movss xmm6, dword [0x180072a80]
mov r10, qword [rsp + 0x50]
mov edi, 1
movss xmm0, dword [0x180072a9c]
xor r11d, r11d
mov edx, dword [rsp + 0x48]
movss xmm1, dword [0x180072b04]
lea r14, [0x180000000]
movss xmm2, dword [0x180072af0]
dec edx
movss xmm3, dword [0x180072b14]
movss xmm4, dword [0x180072ab4]
movss xmm5, dword [0x180072a84]
mov r8d, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x64]
mov dword [rsp + 0x48], edx
cmp edx, ebx
ja 0x18003fa60
movzx ebx, byte [rsp + 0x44]
movaps xmm15, xmmword [rsp + 0xcb0]
movaps xmm14, xmmword [rsp + 0xcc0]
movaps xmm13, xmmword [rsp + 0xcd0]
movaps xmm12, xmmword [rsp + 0xce0]
movaps xmm11, xmmword [rsp + 0xcf0]
movaps xmm10, xmmword [rsp + 0xd00]
movzx eax, bl
mov rcx, qword [rbp + 0xba0]
xor rcx, rsp
call fcn.180050c90
lea r11, [rsp + 0xd50]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret