Function at 0x180019f50
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
push r15
lea rbp, [rsp - 0x218]
sub rsp, 0x318
mov r8, qword [0x1800c3c38]
mov r15, rcx
mov rcx, qword [0x1800c3c50]
mov r13, rdx
movaps xmmword [rsp + 0x280], xmm13
movaps xmm13, xmm2
movabs rsi, 0x7ffffffdfffe
cmp rcx, r8
jbe 0x180019fab
add r8, qword [0x1800c3c40]
cmp rcx, r8
jb 0x180019fbb
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001aed9
call fcn.18000e220
test al, al
jne 0x18001aed9
mov rcx, qword [0x1800c3c50]
call fcn.18000e200
test al, al
jne 0x18001aed9
mov qword [rsp + 0x308], r12
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x300], r14
movaps xmmword [rsp + 0x2e0], xmm7
movaps xmmword [rsp + 0x2d0], xmm8
movaps xmmword [rsp + 0x2b0], xmm10
movaps xmmword [rsp + 0x2a0], xmm11
movaps xmmword [rsp + 0x290], xmm12
call fcn.180019ec0
xorps xmm7, xmm7
xorps xmm10, xmm10
xorps xmm11, xmm11
xorps xmm12, xmm12
call fcn.180014300
call fcn.1800144c0
call fcn.1800144c0
call fcn.180014300
mov r14, qword [0x1800c5e38]
mov r12, qword [0x1800c5e40]
movss xmm8, dword [0x1800a6c08]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0xa0], r12
cmp r14, r12
je 0x18001ac5c
mov r8, qword [0x1800c3c38]
movabs r13, 0x8adf742177ef49b4
mov qword [rsp + 0x350], rbx
mov r15d, 0xf4e1d514
mov qword [rsp + 0x310], rdi
movabs rdi, 0xfcd47648172f2ccf
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2c0], xmm9
movss xmm9, dword [0x1800a6ba4]
nop dword [rax + rax]
mov rbx, qword [r14]
cmp rbx, r8
jbe 0x18001a0e7
mov rcx, qword [0x1800c3c40]
add rcx, r8
cmp rbx, rcx
jb 0x18001a0f7
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001ac12
mov rcx, rbx
call fcn.18000e200
test al, al
jne 0x18001ac0b
mov rcx, rbx
call fcn.180012040
mov r8, qword [0x1800c3c38]
cmp rax, r8
jbe 0x18001a12a
mov rdx, qword [0x1800c3c40]
add rdx, r8
cmp rax, rdx
jb 0x18001a139
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001ac12
test rbx, rbx
je 0x18001ac12
mov rdx, qword [0x1800c3c50]
cmp rdx, r8
jbe 0x18001a15d
mov rcx, qword [0x1800c3c40]
add rcx, r8
cmp rdx, rcx
jb 0x18001a16d
lea rax, [rdx - 0x10000]
cmp rax, rsi
ja 0x18001ac12
cmp rbx, rdx
je 0x18001ac12
mov rcx, rbx
call fcn.18000e200
test al, al
je 0x18001a18f
cmp byte [0x1800a4eb0], 0
jne 0x18001ac0b
mov rax, qword [0x1800a4ea8]
cmp rax, 0x402402
jne 0x18001a2d7
mov qword [rsp + 0x30], rdi
lea r8, [rbp + 0x30]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x40]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x50]
mov qword [rsp + 0x30], r13
mov r9b, 1
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r13
mov qword [rbp + 0xe0], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xe8], rax
movabs rax, 0xa8a0182d655d59ac
movdqa xmm0, xmmword [rbp + 0xe0]
xorps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x40], rax
movabs rax, 0x8adf7421778228d1
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x48], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xf0], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0xf8], rax
movabs rax, 0x85b51a18725c4d8d
movdqa xmm0, xmmword [rbp + 0xf0]
xorps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x50], rax
movabs rax, 0x8adf742177ef3bd1
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x58], rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x100], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x50], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000c060
mov qword [0x1800a4ea8], rax
mov ecx, dword [0x1800c5d70]
cmp dword [rax + rbx], ecx
jne 0x18001a2f3
test ecx, ecx
je 0x18001a2f3
cmp byte [0x1800a4eb1], 0
jne 0x18001ac0b
mov rcx, rbx
call fcn.18000cd10
cmp rax, r15
je 0x18001a30d
cmp byte [0x1800c618d], 0
jne 0x18001ac0b
mov rcx, rbx
call fcn.18000e220
test al, al
je 0x18001a326
cmp byte [0x1800a4eb2], 0
jne 0x18001ac0b
mov rcx, rbx
call fcn.18000d8b0
mov ecx, dword [rax]
shr ecx, 0x11
test cl, 1
jne 0x18001ac0b
mov ecx, dword [0x1800c6190]
test ecx, ecx
je 0x18001a975
sub ecx, 1
je 0x18001a8ee
sub ecx, 1
je 0x18001a864
sub ecx, 1
je 0x18001a36f
cmp ecx, 1
je 0x18001a3f0
jmp 0x18001a9fe
mov rcx, qword [0x1800c3c38]
cmp rbx, rcx
jbe 0x18001a387
add rcx, qword [0x1800c3c40]
cmp rbx, rcx
jb 0x18001a393
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001a3cf
xor edx, edx
mov rcx, rbx
call fcn.18001c490
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a3b5
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a3c1
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001a3cf
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.180014f00
jmp 0x18001a3de
mov qword [rbp - 0x70], 0
mov dword [rbp - 0x68], 0
movsd xmm0, qword [rbp - 0x70]
mov eax, dword [rbp - 0x68]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
mov rcx, rbx
call fcn.18001c540
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a410
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a41f
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001a9fe
mov rcx, rbx
call fcn.18001c540
mov rcx, rax
call fcn.18001c2e0
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a447
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a456
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001a9fe
xor edi, edi
mov esi, 0x20
movabs r15, 0x7ffffffdfffe
movabs r12, 0xfcd47648172f2ccf
movabs r14, 0xfcd47624724b43a2
nop dword [rax + rax]
mov rax, qword [0x1800a4e98]
cmp rax, 0x402402
jne 0x18001a568
mov qword [rsp + 0x30], r14
lea r8, [0x1800a6b90]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x60]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x30], r13
mov r9b, 1
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x68], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x118], rax
movabs rax, 0x95a0180d725c4d8d
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x70], rax
movabs rax, 0x8adf742177ef30c0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x78], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x120], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000c060
mov qword [0x1800a4e98], rax
mov rcx, qword [rax + rbx]
call fcn.18001c2e0
test rax, rax
je 0x18001a579
mov eax, dword [rax + 0x18]
cmp edi, eax
jge 0x18001a836
mov rax, qword [0x1800a4e98]
cmp rax, 0x402402
jne 0x18001a687
mov qword [rsp + 0x30], r14
lea r8, [0x1800a6b90]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x80]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], r13
mov r9b, 1
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x88], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x138], rax
movabs rax, 0x95a0180d725c4d8d
movdqa xmm0, xmmword [rbp + 0x130]
xorps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x90], rax
movabs rax, 0x8adf742177ef30c0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x98], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x140], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x148], rax
movdqa xmm0, xmmword [rbp + 0x140]
xorps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp + 0x90], xmm0
mov byte [rsp + 0x20], 0
call fcn.18000c060
mov qword [0x1800a4e98], rax
mov rcx, qword [rax + rbx]
call fcn.18001c2e0
mov rdx, qword [0x1800c3c38]
mov r8, qword [0x1800c3c40]
cmp rax, rdx
jbe 0x18001a6ac
lea rcx, [r8 + rdx]
cmp rax, rcx
jb 0x18001a6b8
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x18001a6be
mov rcx, qword [rax + rsi]
jmp 0x18001a6c0
xor ecx, ecx
cmp rcx, rdx
jbe 0x18001a6ce
lea rax, [r8 + rdx]
cmp rcx, rax
jb 0x18001a6de
lea rax, [rcx - 0x10000]
cmp rax, r15
ja 0x18001a82b
lea rdx, [rsp + 0x50]
call fcn.180014f00
xorps xmm0, xmm0
mov qword [rbp + 0x258], 0
movups xmmword [rsp + 0x30], xmm0
call fcn.180011110
mov ecx, dword [rsp + 0x58]
lea r8, [rbp + 0x258]
movsd xmm0, qword [rsp + 0x50]
lea rdx, [rbp + 0xb0]
mov dword [rbp + 0xb8], ecx
mov rcx, rax
movsd qword [rbp + 0xb0], xmm0
call fcn.180011dc0
test al, al
je 0x18001a82b
xorps xmm0, xmm0
mov qword [rsp + 0x70], 0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x78], 0
call fcn.180011110
mov ecx, dword [rsp + 0x58]
lea r8, [rsp + 0x70]
movsd xmm0, qword [rsp + 0x50]
lea rdx, [rbp + 0xc0]
mov dword [rbp + 0xc8], ecx
mov rcx, rax
movsd qword [rbp + 0xc0], xmm0
call fcn.180011b30
test al, al
je 0x18001a82b
movss xmm0, dword [rsp + 0x70]
ucomiss xmm0, xmm7
jp 0x18001a7af
jne 0x18001a7af
movss xmm0, dword [rsp + 0x74]
ucomiss xmm0, xmm7
jp 0x18001a7af
jne 0x18001a7af
movss xmm0, dword [rsp + 0x78]
ucomiss xmm0, xmm7
jp 0x18001a7af
je 0x18001a82b
call fcn.180014300
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
mulss xmm6, xmm9
call fcn.1800144c0
call fcn.180014300
call fcn.1800144c0
subss xmm6, dword [rsp + 0x74]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm6, xmm6
mulss xmm0, xmm9
subss xmm0, dword [rsp + 0x70]
mulss xmm0, xmm0
addss xmm6, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm6
ja 0x18001a804
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18001a80c
movaps xmm0, xmm6
call fcn.1800a27c0
comiss xmm8, xmm0
jbe 0x18001a82b
movss xmm10, dword [rsp + 0x50]
movaps xmm8, xmm0
movss xmm11, dword [rsp + 0x54]
movss xmm12, dword [rsp + 0x58]
inc edi
add rsi, 8
jmp 0x18001a480
mov r14, qword [rbp + 0x10]
mov rsi, r15
mov r12, qword [rbp + 0xa0]
mov r15d, 0xf4e1d514
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm11
movss dword [rsp + 0x48], xmm12
jmp 0x18001a9fe
mov rcx, qword [0x1800c3c38]
cmp rbx, rcx
jbe 0x18001a87c
add rcx, qword [0x1800c3c40]
cmp rbx, rcx
jb 0x18001a888
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001a8d2
mov edx, 0x12
mov rcx, rbx
call fcn.18001c490
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a8ad
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a8b9
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001a8d2
lea rdx, [rbp - 0x64]
mov rcx, rax
call fcn.180014f00
movsd xmm0, qword [rbp - 0x64]
mov eax, dword [rbp - 0x5c]
jmp 0x18001a9f4
mov qword [rbp - 0x64], 0
movsd xmm0, qword [rbp - 0x64]
mov dword [rbp - 0x5c], 0
mov eax, dword [rbp - 0x5c]
jmp 0x18001a9f4
mov rcx, qword [0x1800c3c38]
cmp rbx, rcx
jbe 0x18001a906
add rcx, qword [0x1800c3c40]
cmp rbx, rcx
jb 0x18001a912
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001a95c
mov edx, 0x2e
mov rcx, rbx
call fcn.18001c490
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a937
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a943
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001a95c
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.180014f00
movsd xmm0, qword [rbp - 0x58]
mov eax, dword [rbp - 0x50]
jmp 0x18001a9f4
mov qword [rbp - 0x58], 0
movsd xmm0, qword [rbp - 0x58]
mov dword [rbp - 0x50], 0
mov eax, dword [rbp - 0x50]
jmp 0x18001a9f4
mov rcx, qword [0x1800c3c38]
cmp rbx, rcx
jbe 0x18001a98d
add rcx, qword [0x1800c3c40]
cmp rbx, rcx
jb 0x18001a999
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001a9d9
mov edx, 0x2f
mov rcx, rbx
call fcn.18001c490
mov rdx, qword [0x1800c3c38]
cmp rax, rdx
jbe 0x18001a9be
add rdx, qword [0x1800c3c40]
cmp rax, rdx
jb 0x18001a9ca
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001a9d9
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180014f00
jmp 0x18001a9ea
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
movsd xmm0, qword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
cmp byte [0x1800c618c], 0
je 0x18001ab26
mov rax, qword gs:[0x60]
mov rdi, qword [0x1800c3c50]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rax + 0x60]
mov r10d, 0xf596042d
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x18001aa83
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x18001aa50
cmp r10d, 0xb669c519
je 0x18001aa88
mov rax, qword [rax]
jmp 0x18001aa30
mov r8, qword [rax + 0x30]
mov rdx, qword [0x1800c3c38]
add r8, 0x34f91d0
cmp r8, rdx
jbe 0x18001aaab
add rdx, qword [0x1800c3c40]
cmp r8, rdx
jb 0x18001aab7
lea rax, [r8 - 0x10000]
cmp rax, rsi
ja 0x18001aabf
mov rcx, rdi
call r8
jmp 0x18001aac1
xor eax, eax
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.18000e000
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x40]
call fcn.180015d40
test al, al
je 0x18001ac0b
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xd0]
call fcn.180015d40
test al, al
je 0x18001ac0b
xorps xmm0, xmm0
mov qword [rbp - 0x80], 0
movups xmmword [rsp + 0x30], xmm0
mov dword [rbp - 0x78], 0
call fcn.180011110
mov ecx, dword [rsp + 0x48]
lea r8, [rbp - 0x80]
movsd xmm0, qword [rsp + 0x40]
lea rdx, [rbp + 0x20]
mov dword [rbp + 0x28], ecx
mov rcx, rax
movsd qword [rbp + 0x20], xmm0
call fcn.180011b30
test al, al
je 0x18001ac0b
movss xmm0, dword [rbp - 0x80]
ucomiss xmm0, xmm7
jp 0x18001ab90
jne 0x18001ab90
movss xmm0, dword [rbp - 0x7c]
ucomiss xmm0, xmm7
jp 0x18001ab90
jne 0x18001ab90
movss xmm0, dword [rbp - 0x78]
ucomiss xmm0, xmm7
jp 0x18001ab90
je 0x18001ac0b
call fcn.180014300
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
mulss xmm6, xmm9
call fcn.1800144c0
call fcn.180014300
call fcn.1800144c0
subss xmm6, dword [rbp - 0x7c]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, eax
mulss xmm6, xmm6
mulss xmm1, xmm9
subss xmm1, dword [rbp - 0x80]
mulss xmm1, xmm1
addss xmm1, xmm6
ucomiss xmm0, xmm1
ja 0x18001abe3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18001abeb
movaps xmm0, xmm1
call fcn.1800a27c0
comiss xmm13, xmm0
jbe 0x18001ac0b
mov eax, dword [rsp + 0x48]
movaps xmm13, xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov dword [rbp - 0x38], eax
mov r8, qword [0x1800c3c38]
add r14, 0x28
movabs rdi, 0xfcd47648172f2ccf
mov qword [rbp + 0x10], r14
cmp r14, r12
jne 0x18001a0d0
movaps xmm9, xmmword [rsp + 0x2c0]
movaps xmm6, xmmword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x310]
mov rbx, qword [rsp + 0x350]
mov r15, qword [rbp + 0x240]
mov r13, qword [rbp + 0x248]
cmp qword [rbp - 0x30], 0
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm11, xmmword [rsp + 0x2a0]
movaps xmm10, xmmword [rsp + 0x2b0]
movaps xmm8, xmmword [rsp + 0x2d0]
mov r14, qword [rsp + 0x300]
mov r12, qword [rsp + 0x308]
je 0x18001aea2
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm7
jp 0x18001acc3
jne 0x18001acc3
movss xmm0, dword [rbp - 0x3c]
ucomiss xmm0, xmm7
jp 0x18001acc3
jne 0x18001acc3
movss xmm0, dword [rbp - 0x38]
ucomiss xmm0, xmm7
jp 0x18001acc3
je 0x18001aea2
mov rcx, qword [rbp - 0x30]
call fcn.18000d9d0
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.18000eca0
movss xmm0, dword [rsp + 0x60]
ucomiss xmm0, xmm7
jp 0x18001ad41
jne 0x18001ad41
movss xmm0, dword [rsp + 0x64]
ucomiss xmm0, xmm7
jp 0x18001ad41
jne 0x18001ad41
movss xmm0, dword [rsp + 0x68]
ucomiss xmm0, xmm7
jp 0x18001ad41
jne 0x18001ad41
mov rcx, qword [rbp - 0x30]
call fcn.18000d9d0
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.18000eca0
movsd xmm0, qword [rax]
movsd qword [rbp], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 8], eax
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x20], 0
jmp 0x18001ae5e
mov rax, qword [rbp - 0x20]
movsd xmm0, qword [rsp + 0x60]
mov edx, dword [rsp + 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x28]
movsd qword [rax + rcx*4], xmm0
mov dword [rax + rcx*4 + 8], edx
mov r8, qword [rbp - 0x10]
mov r11, qword [rbp - 8]
cmp r8, r11
jne 0x18001ad82
mov rax, qword [rbp - 0x18]
xor edx, edx
inc rax
div r11
mov r10, rdx
mov qword [rbp - 0x18], rdx
jmp 0x18001ad8d
mov r10, qword [rbp - 0x18]
inc r8
mov qword [rbp - 0x10], r8
mov rax, qword [rbp - 0x20]
xor edx, edx
mov r9, qword [rbp - 0x28]
inc rax
div r11
movaps xmm1, xmm7
movd eax, xmm7
mov qword [rbp - 0x20], rdx
xor ecx, ecx
unpcklps xmm1, xmm7
mov dword [rsp + 0x58], eax
movaps xmm3, xmm1
movsd qword [rsp + 0x50], xmm1
cmp rcx, r8
je 0x18001ae06
mov rax, rcx
jb 0x18001adc8
lea rax, [r10 + rcx]
movss xmm0, dword [rsp + 0x50]
xor edx, edx
movss xmm1, dword [rsp + 0x54]
movss xmm2, dword [rsp + 0x58]
div r11
inc rcx
lea rax, [rdx + rdx*2]
addss xmm1, dword [r9 + rax*4 + 4]
addss xmm0, dword [r9 + rax*4]
addss xmm2, dword [r9 + rax*4 + 8]
unpcklps xmm0, xmm1
movaps xmm1, xmm0
movd eax, xmm2
jmp 0x18001adad
movsd qword [rbp], xmm3
xorps xmm2, xmm2
mov dword [rbp + 8], eax
test r8, r8
js 0x18001ae1d
cvtsi2ss xmm2, r8
jmp 0x18001ae33
mov rax, r8
and r8d, 1
shr rax, 1
or rax, r8
cvtsi2ss xmm2, rax
addss xmm2, xmm2
movss xmm0, dword [rsp + 0x50]
movss xmm1, dword [rbp + 4]
divss xmm0, xmm2
divss xmm1, xmm2
movss dword [rbp], xmm0
movss xmm0, dword [rbp + 8]
divss xmm0, xmm2
movss dword [rbp + 4], xmm1
movss dword [rbp + 8], xmm0
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rdx, [rbp - 0x40]
mov rcx, r13
call fcn.180015d40
test al, al
je 0x18001aea2
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rcx, [rbp - 0x40]
mov rdx, r13
call fcn.180015d40
test al, al
jne 0x18001aeb5
cmp byte [0x1800c618c], 0
je 0x18001aeb5
mov rcx, r15
call fcn.180019ec0
jmp 0x18001aec1
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.180019e20
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18001aecf
call main
movaps xmm7, xmmword [rsp + 0x2e0]
jmp 0x18001aee1
mov rcx, r15
call fcn.180019ec0
movaps xmm13, xmmword [rsp + 0x280]
mov rax, r15
add rsp, 0x318
pop r15
pop r13
pop rsi
pop rbp
ret