Function at 0x18001a520
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 [0x1800c2958]
mov r15, rcx
mov rcx, qword [0x1800c2970]
mov r13, rdx
movaps xmmword [rsp + 0x280], xmm13
movaps xmm13, xmm2
movabs rsi, 0x7ffffffdfffe
cmp rcx, r8
jbe 0x18001a57b
add r8, qword [0x1800c2960]
cmp rcx, r8
jb 0x18001a58b
lea rax, [rcx - 0x10000]
cmp rax, rsi
ja 0x18001b4a9
call fcn.18000e190
test al, al
jne 0x18001b4a9
mov rcx, qword [0x1800c2970]
call fcn.18000e170
test al, al
jne 0x18001b4a9
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.18001a490
xorps xmm7, xmm7
xorps xmm10, xmm10
xorps xmm11, xmm11
xorps xmm12, xmm12
call fcn.1800146e0
call fcn.1800148a0
call fcn.1800148a0
call fcn.1800146e0
mov r14, qword [0x1800c4b58]
mov r12, qword [0x1800c4b60]
movss xmm8, dword [0x1800a5c88]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0xa0], r12
cmp r14, r12
je 0x18001b22c
mov r8, qword [0x1800c2958]
movabs r13, 0x2db16f8d34533f74
mov qword [rsp + 0x350], rbx
mov r15d, 0xf4e1d514
mov qword [rsp + 0x310], rdi
movabs rdi, 0xa69d515c63d7d57b
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2c0], xmm9
movss xmm9, dword [0x1800a5c24]
nop dword [rax + rax]
mov rbx, qword [r14]
cmp rbx, r8
jbe 0x18001a6b7
mov rcx, qword [0x1800c2960]
add rcx, r8
cmp rbx, rcx
jb 0x18001a6c7
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001b1e2
mov rcx, rbx
call fcn.18000e170
test al, al
jne 0x18001b1db
mov rcx, rbx
call fcn.180011fd0
mov r8, qword [0x1800c2958]
cmp rax, r8
jbe 0x18001a6fa
mov rdx, qword [0x1800c2960]
add rdx, r8
cmp rax, rdx
jb 0x18001a709
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001b1e2
test rbx, rbx
je 0x18001b1e2
mov rdx, qword [0x1800c2970]
cmp rdx, r8
jbe 0x18001a72d
mov rcx, qword [0x1800c2960]
add rcx, r8
cmp rdx, rcx
jb 0x18001a73d
lea rax, [rdx - 0x10000]
cmp rax, rsi
ja 0x18001b1e2
cmp rbx, rdx
je 0x18001b1e2
mov rcx, rbx
call fcn.18000e170
test al, al
je 0x18001a75f
cmp byte [0x1800a3ec0], 0
jne 0x18001b1db
mov rax, qword [0x1800a3eb8]
cmp rax, 0x402402
jne 0x18001a8a7
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, 0xf2e93f3911a5a018
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, 0x2db16f8d343e5e11
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, 0xdffc3d0c06a4b439
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, 0x2db16f8d34534d11
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.18000c010
mov qword [0x1800a3eb8], rax
mov ecx, dword [0x1800c4a90]
cmp dword [rax + rbx], ecx
jne 0x18001a8c3
test ecx, ecx
je 0x18001a8c3
cmp byte [0x1800a3ec1], 0
jne 0x18001b1db
mov rcx, rbx
call fcn.18000ccc0
cmp rax, r15
je 0x18001a8dd
cmp byte [0x1800c4ead], 0
jne 0x18001b1db
mov rcx, rbx
call fcn.18000e190
test al, al
je 0x18001a8f6
cmp byte [0x1800a3ec2], 0
jne 0x18001b1db
mov rcx, rbx
call fcn.18000d820
mov ecx, dword [rax]
shr ecx, 0x11
test cl, 1
jne 0x18001b1db
mov ecx, dword [0x1800c4eb0]
test ecx, ecx
je 0x18001af45
sub ecx, 1
je 0x18001aebe
sub ecx, 1
je 0x18001ae34
sub ecx, 1
je 0x18001a93f
cmp ecx, 1
je 0x18001a9c0
jmp 0x18001afce
mov rcx, qword [0x1800c2958]
cmp rbx, rcx
jbe 0x18001a957
add rcx, qword [0x1800c2960]
cmp rbx, rcx
jb 0x18001a963
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001a99f
xor edx, edx
mov rcx, rbx
call fcn.18001ca60
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001a985
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001a991
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001a99f
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.180015310
jmp 0x18001a9ae
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.18001cb10
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001a9e0
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001a9ef
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001afce
mov rcx, rbx
call fcn.18001cb10
mov rcx, rax
call fcn.18001c8b0
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001aa17
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001aa26
add rax, 0xffffffffffff0000
cmp rax, rsi
ja 0x18001afce
xor edi, edi
mov esi, 0x20
movabs r15, 0x7ffffffdfffe
movabs r12, 0xa69d515c63d7d57b
movabs r14, 0xa69d513006b3ba16
nop dword [rax + rax]
mov rax, qword [0x1800a3ea8]
cmp rax, 0x402402
jne 0x18001ab38
mov qword [rsp + 0x30], r14
lea r8, [0x1800a5c10]
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, 0xcfe93f1906a4b439
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, 0x2db16f8d34534600
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.18000c010
mov qword [0x1800a3ea8], rax
mov rcx, qword [rax + rbx]
call fcn.18001c8b0
test rax, rax
je 0x18001ab49
mov eax, dword [rax + 0x18]
cmp edi, eax
jge 0x18001ae06
mov rax, qword [0x1800a3ea8]
cmp rax, 0x402402
jne 0x18001ac57
mov qword [rsp + 0x30], r14
lea r8, [0x1800a5c10]
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, 0xcfe93f1906a4b439
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, 0x2db16f8d34534600
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.18000c010
mov qword [0x1800a3ea8], rax
mov rcx, qword [rax + rbx]
call fcn.18001c8b0
mov rdx, qword [0x1800c2958]
mov r8, qword [0x1800c2960]
cmp rax, rdx
jbe 0x18001ac7c
lea rcx, [r8 + rdx]
cmp rax, rcx
jb 0x18001ac88
lea rcx, [rax - 0x10000]
cmp rcx, r15
ja 0x18001ac8e
mov rcx, qword [rax + rsi]
jmp 0x18001ac90
xor ecx, ecx
cmp rcx, rdx
jbe 0x18001ac9e
lea rax, [r8 + rdx]
cmp rcx, rax
jb 0x18001acae
lea rax, [rcx - 0x10000]
cmp rax, r15
ja 0x18001adfb
lea rdx, [rsp + 0x50]
call fcn.180015310
xorps xmm0, xmm0
mov qword [rbp + 0x258], 0
movups xmmword [rsp + 0x30], xmm0
call fcn.1800110a0
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.180011d50
test al, al
je 0x18001adfb
xorps xmm0, xmm0
mov qword [rsp + 0x70], 0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x78], 0
call fcn.1800110a0
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.180011ac0
test al, al
je 0x18001adfb
movss xmm0, dword [rsp + 0x70]
ucomiss xmm0, xmm7
jp 0x18001ad7f
jne 0x18001ad7f
movss xmm0, dword [rsp + 0x74]
ucomiss xmm0, xmm7
jp 0x18001ad7f
jne 0x18001ad7f
movss xmm0, dword [rsp + 0x78]
ucomiss xmm0, xmm7
jp 0x18001ad7f
je 0x18001adfb
call fcn.1800146e0
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
mulss xmm6, xmm9
call fcn.1800148a0
call fcn.1800146e0
call fcn.1800148a0
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 0x18001add4
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18001addc
movaps xmm0, xmm6
call fcn.1800a12b0
comiss xmm8, xmm0
jbe 0x18001adfb
movss xmm10, dword [rsp + 0x50]
movaps xmm8, xmm0
movss xmm11, dword [rsp + 0x54]
movss xmm12, dword [rsp + 0x58]
inc edi
add rsi, 8
jmp 0x18001aa50
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 0x18001afce
mov rcx, qword [0x1800c2958]
cmp rbx, rcx
jbe 0x18001ae4c
add rcx, qword [0x1800c2960]
cmp rbx, rcx
jb 0x18001ae58
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001aea2
mov edx, 0x12
mov rcx, rbx
call fcn.18001ca60
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001ae7d
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001ae89
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001aea2
lea rdx, [rbp - 0x64]
mov rcx, rax
call fcn.180015310
movsd xmm0, qword [rbp - 0x64]
mov eax, dword [rbp - 0x5c]
jmp 0x18001afc4
mov qword [rbp - 0x64], 0
movsd xmm0, qword [rbp - 0x64]
mov dword [rbp - 0x5c], 0
mov eax, dword [rbp - 0x5c]
jmp 0x18001afc4
mov rcx, qword [0x1800c2958]
cmp rbx, rcx
jbe 0x18001aed6
add rcx, qword [0x1800c2960]
cmp rbx, rcx
jb 0x18001aee2
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001af2c
mov edx, 0x2e
mov rcx, rbx
call fcn.18001ca60
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001af07
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001af13
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001af2c
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.180015310
movsd xmm0, qword [rbp - 0x58]
mov eax, dword [rbp - 0x50]
jmp 0x18001afc4
mov qword [rbp - 0x58], 0
movsd xmm0, qword [rbp - 0x58]
mov dword [rbp - 0x50], 0
mov eax, dword [rbp - 0x50]
jmp 0x18001afc4
mov rcx, qword [0x1800c2958]
cmp rbx, rcx
jbe 0x18001af5d
add rcx, qword [0x1800c2960]
cmp rbx, rcx
jb 0x18001af69
lea rax, [rbx - 0x10000]
cmp rax, rsi
ja 0x18001afa9
mov edx, 0x2f
mov rcx, rbx
call fcn.18001ca60
mov rdx, qword [0x1800c2958]
cmp rax, rdx
jbe 0x18001af8e
add rdx, qword [0x1800c2960]
cmp rax, rdx
jb 0x18001af9a
lea rcx, [rax - 0x10000]
cmp rcx, rsi
ja 0x18001afa9
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180015310
jmp 0x18001afba
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 [0x1800c4eac], 0
je 0x18001b0f6
mov rax, qword gs:[0x60]
mov rdi, qword [0x1800c2970]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rax + 0x60]
mov r10d, 0xe6847f90
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x18001b053
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 0x18001b020
cmp r10d, 0xca2ea508
je 0x18001b058
mov rax, qword [rax]
jmp 0x18001b000
mov r8, qword [rax + 0x30]
mov rdx, qword [0x1800c2958]
add r8, 0x34f91d0
cmp r8, rdx
jbe 0x18001b07b
add rdx, qword [0x1800c2960]
cmp r8, rdx
jb 0x18001b087
lea rax, [r8 - 0x10000]
cmp rax, rsi
ja 0x18001b08f
mov rcx, rdi
call r8
jmp 0x18001b091
xor eax, eax
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.18000df70
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x40]
call fcn.180016310
test al, al
je 0x18001b1db
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xd0]
call fcn.180016310
test al, al
je 0x18001b1db
xorps xmm0, xmm0
mov qword [rbp - 0x80], 0
movups xmmword [rsp + 0x30], xmm0
mov dword [rbp - 0x78], 0
call fcn.1800110a0
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.180011ac0
test al, al
je 0x18001b1db
movss xmm0, dword [rbp - 0x80]
ucomiss xmm0, xmm7
jp 0x18001b160
jne 0x18001b160
movss xmm0, dword [rbp - 0x7c]
ucomiss xmm0, xmm7
jp 0x18001b160
jne 0x18001b160
movss xmm0, dword [rbp - 0x78]
ucomiss xmm0, xmm7
jp 0x18001b160
je 0x18001b1db
call fcn.1800146e0
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
mulss xmm6, xmm9
call fcn.1800148a0
call fcn.1800146e0
call fcn.1800148a0
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 0x18001b1b3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18001b1bb
movaps xmm0, xmm1
call fcn.1800a12b0
comiss xmm13, xmm0
jbe 0x18001b1db
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 [0x1800c2958]
add r14, 0x28
movabs rdi, 0xa69d515c63d7d57b
mov qword [rbp + 0x10], r14
cmp r14, r12
jne 0x18001a6a0
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 0x18001b472
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm7
jp 0x18001b293
jne 0x18001b293
movss xmm0, dword [rbp - 0x3c]
ucomiss xmm0, xmm7
jp 0x18001b293
jne 0x18001b293
movss xmm0, dword [rbp - 0x38]
ucomiss xmm0, xmm7
jp 0x18001b293
je 0x18001b472
mov rcx, qword [rbp - 0x30]
call fcn.18000d940
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.18000ec30
movss xmm0, dword [rsp + 0x60]
ucomiss xmm0, xmm7
jp 0x18001b311
jne 0x18001b311
movss xmm0, dword [rsp + 0x64]
ucomiss xmm0, xmm7
jp 0x18001b311
jne 0x18001b311
movss xmm0, dword [rsp + 0x68]
ucomiss xmm0, xmm7
jp 0x18001b311
jne 0x18001b311
mov rcx, qword [rbp - 0x30]
call fcn.18000d940
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.18000ec30
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 0x18001b42e
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 0x18001b352
mov rax, qword [rbp - 0x18]
xor edx, edx
inc rax
div r11
mov r10, rdx
mov qword [rbp - 0x18], rdx
jmp 0x18001b35d
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 0x18001b3d6
mov rax, rcx
jb 0x18001b398
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 0x18001b37d
movsd qword [rbp], xmm3
xorps xmm2, xmm2
mov dword [rbp + 8], eax
test r8, r8
js 0x18001b3ed
cvtsi2ss xmm2, r8
jmp 0x18001b403
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.180016310
test al, al
je 0x18001b472
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a12001
lea rcx, [rbp - 0x40]
mov rdx, r13
call fcn.180016310
test al, al
jne 0x18001b485
cmp byte [0x1800c4eac], 0
je 0x18001b485
mov rcx, r15
call fcn.18001a490
jmp 0x18001b491
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.18001a3f0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18001b49f
call main
movaps xmm7, xmmword [rsp + 0x2e0]
jmp 0x18001b4b1
mov rcx, r15
call fcn.18001a490
movaps xmm13, xmmword [rsp + 0x280]
mov rax, r15
add rsp, 0x318
pop r15
pop r13
pop rsi
pop rbp
ret