Function at 0x1800090b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rdi
push r13
lea rbp, [rsp - 0x5c8]
sub rsp, 0x6c8
mov ebx, dword [0x18002d724]
xor r9d, r9d
mov rax, qword [0x180029778]
add rbx, rcx
mov r13, rdx
mov qword [rsp + 0x20], rax
mov rdi, rcx
lea rdx, [rbp - 0x80]
lea r8d, [r9 + 0x30]
mov rcx, rbx
call fcn.180023d9d
test rax, rax
je 0x180009115
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009115
cmp eax, 0x10
je 0x180009115
cmp qword [rbp - 0x68], 8
jb 0x180009115
mov rcx, qword [rbx]
jmp 0x180009117
xor ecx, ecx
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [0x180029168], rcx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000b930
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000b930
cmp eax, 0x10
je 0x18000b930
cmp qword [rbp - 0x68], 8
jb 0x18000b930
mov ebx, dword [0x18002d728]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
add rbx, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x1800091a9
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x1800091a9
cmp eax, 0x10
je 0x1800091a9
cmp qword [rbp - 0x68], 8
jb 0x1800091a9
mov rbx, qword [rbx]
jmp 0x1800091ab
xor ebx, ebx
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000b930
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000b930
cmp eax, 0x10
je 0x18000b930
cmp qword [rbp - 0x68], 8
jb 0x18000b930
mov ecx, dword [0x18002d734]
add rcx, rbx
call fcn.180001050
mov rcx, rax
call fcn.180001050
mov rcx, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rbx, rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000b930
mov ecx, dword [rbp - 0x5c]
cmp ecx, 1
je 0x18000b930
cmp ecx, 0x10
je 0x18000b930
cmp qword [rbp - 0x68], 8
jb 0x18000b930
mov ecx, dword [0x18002d738]
add rcx, rbx
call fcn.180001050
mov edx, 8
mov qword [0x180029170], rax
mov rcx, rax
call fcn.18001e330
test eax, eax
jne 0x18000b930
mov edi, dword [0x18002d73c]
lea rdx, [rbp - 0x80]
add rdi, qword [0x180029170]
xor r9d, r9d
mov rax, qword [0x180029778]
mov rcx, rdi
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x1800092c8
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x1800092c8
cmp eax, 0x10
je 0x1800092c8
cmp qword [rbp - 0x68], 8
jb 0x1800092c8
mov rdi, qword [rdi]
jmp 0x1800092ca
xor edi, edi
mov edx, 8
mov rcx, rdi
call fcn.18001e330
test eax, eax
jne 0x18000b930
mov ebx, dword [0x18002d740]
lea rdx, [rbp - 0x80]
add rbx, qword [0x180029170]
xor r9d, r9d
mov rax, qword [0x180029778]
mov rcx, rbx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009329
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009329
cmp eax, 0x10
je 0x180009329
cmp qword [rbp - 0x68], 8
jb 0x180009329
mov rcx, qword [rbx]
jmp 0x18000932b
xor ecx, ecx
mov edx, 8
call fcn.18001e330
test eax, eax
jne 0x18000b930
mov ebx, dword [0x18002d748]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
add rbx, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009383
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009383
cmp eax, 0x10
je 0x180009383
cmp qword [rbp - 0x68], 8
jb 0x180009383
mov rbx, qword [rbx]
jmp 0x180009385
xor ebx, ebx
mov edx, 8
mov rcx, rbx
call fcn.18001e330
test eax, eax
jne 0x18000b930
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x6c0], rsi
xor r9d, r9d
mov esi, dword [0x18002d72c]
add rsi, qword [0x180029168]
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x1800093ec
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x1800093ec
cmp eax, 0x10
je 0x1800093ec
cmp qword [rbp - 0x68], 8
jb 0x1800093ec
mov rcx, qword [rsi]
jmp 0x1800093ee
xor ecx, ecx
mov edx, 8
mov qword [0x180029150], rcx
call fcn.18001e330
test eax, eax
jne 0x18000b928
mov rdx, qword [0x1800291c0]
mov rcx, rbx
movaps xmmword [rsp + 0x690], xmm6
movaps xmmword [rsp + 0x630], xmm12
movaps xmmword [rsp + 0x610], xmm14
call fcn.18001e2b0
movsd xmm12, qword [0x180026228]
xorps xmm14, xmm14
test al, al
je 0x18000986b
mov edx, 8
mov rcx, rbx
call fcn.18001e330
test eax, eax
jne 0x18000b90e
mov ecx, dword [0x18002d744]
add rcx, rbx
mov qword [0x180029190], rbx
call fcn.180001050
mov edx, 8
mov qword [0x1800291a0], rax
mov rcx, rax
call fcn.18001e330
test eax, eax
jne 0x18000b90e
mov rdx, qword [0x180029880]
xorps xmm0, xmm0
mov rax, qword [0x1800297f0]
xorps xmm2, xmm2
movsd qword [rbp - 0x20], xmm2
movups xmmword [rbp - 0x30], xmm0
test rdx, rdx
je 0x1800094d2
test rax, rax
je 0x1800094d2
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x30]
mov rcx, rdi
call fcn.180023d9d
mov rax, qword [0x1800297f0]
movsd xmm2, qword [rbp - 0x20]
movups xmm0, xmmword [rbp - 0x30]
mov rdx, qword [0x180029888]
movsd qword [0x18002d520], xmm2
xorps xmm2, xmm2
movsd qword [rbp - 0x20], xmm2
movups xmmword [0x18002d510], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
test rdx, rdx
je 0x18000951e
test rax, rax
je 0x18000951e
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x30]
mov rcx, rdi
call fcn.180023d9d
movsd xmm2, qword [rbp - 0x20]
movups xmm0, xmmword [rbp - 0x30]
mov ecx, dword [0x18002d760]
add rcx, qword [0x180029190]
movups xmmword [0x1800298a8], xmm0
movsd qword [0x1800298b8], xmm2
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000b90e
mov rcx, rbx
call fcn.18000df70
mov ecx, dword [0x18002d764]
add rcx, qword [0x180029190]
mov dword [0x180029130], eax
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x1800096b5
cmp byte [0x1800291e7], al
je 0x1800095cf
mov edx, dword [0x18002d76c]
xorps xmm1, xmm1
mov ecx, dword [0x18002d768]
add rdx, rbx
add rcx, rdx
call fcn.1800010b0
mov eax, dword [0x18002d770]
xorps xmm1, xmm1
mov ecx, dword [0x18002d768]
add rax, rbx
add rcx, rax
call fcn.1800010b0
cmp byte [0x1800291e6], 0
je 0x1800096b5
mov eax, dword [0x18002d784]
mov ecx, dword [0x18002d774]
add rax, rbx
add rcx, rax
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x1800096b5
mov edx, dword [0x18002d78c]
movaps xmm1, xmm12
mov ecx, dword [0x18002d788]
add rdx, rbx
add rcx, rdx
call fcn.1800010b0
mov eax, dword [0x18002d790]
movaps xmm1, xmm12
mov ecx, dword [0x18002d788]
add rax, rbx
add rcx, rax
call fcn.1800010b0
mov eax, dword [0x18002d794]
movaps xmm1, xmm12
mov ecx, dword [0x18002d788]
add rax, rbx
add rcx, rax
call fcn.1800010b0
mov eax, dword [0x18002d798]
mov ecx, dword [0x18002d788]
add rax, rbx
movsd xmm1, qword [0x1800264b8]
add rcx, rax
call fcn.1800010b0
mov eax, dword [0x18002d79c]
movaps xmm1, xmm12
mov ecx, dword [0x18002d788]
add rax, rbx
add rcx, rax
call fcn.1800010b0
mov eax, dword [0x18002d7a0]
mov ecx, dword [0x18002d788]
add rax, rbx
movsd xmm1, qword [0x1800264b8]
add rcx, rax
call fcn.1800010b0
mov ecx, dword [0x18002d7b0]
add rcx, qword [0x180029190]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
mov ecx, dword [0x18002d7b4]
add rcx, rbx
call fcn.180001050
mov rcx, rax
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
mov rdx, qword [0x1800291c8]
mov rcx, rbx
call fcn.18001e2b0
test al, al
je 0x18000986b
mov ecx, dword [0x18002d7a8]
add rcx, rbx
call fcn.180001050
mov ecx, dword [0x18002d7b8]
add rcx, rbx
mov qword [0x180029138], rax
call fcn.180001050
mov ecx, dword [0x18002d7a4]
add rcx, rbx
mov qword [0x180029140], rax
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
lea rcx, [rbx + 0x10]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
lea rcx, [rbx + 0x138]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
lea rcx, [rbx + 0x1d8]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
lea rcx, [rbx + 0xd8]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000986b
add rbx, 0x148
cmp qword [0x1800291b8], 0
mov rcx, rbx
jne 0x18000981f
call fcn.180001050
mov qword [0x1800291b8], rax
jmp 0x18000986b
call fcn.180001050
lea rdi, [0x180001170]
cmp rax, rdi
je 0x18000986b
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000986b
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000986b
cmp eax, 0x10
je 0x18000986b
cmp qword [rbp - 0x68], 8
jb 0x18000986b
mov qword [rbx], rdi
mov rax, qword [0x180029168]
xor r8d, r8d
mov rdx, qword [0x180029878]
mov qword [rsp + 0x6b0], r14
movaps xmmword [rsp + 0x670], xmm8
xorps xmm8, xmm8
mov qword [rbp], rax
mov rax, qword [0x1800291c0]
movaps xmmword [rsp + 0x660], xmm9
mov qword [rbp + 8], rax
movsd qword [rbp + 0x28], xmm8
movaps xmmword [rsp + 0x650], xmm10
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], r8
test rdx, rdx
je 0x1800098ed
mov rax, qword [0x1800297f0]
test rax, rax
je 0x1800098ed
mov rcx, qword [0x180029198]
lea r8, [rbp]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.180023d9d
mov r8, qword [rbp + 0x10]
cmp dword [rbp + 0x18], 0
lea rdi, [0x180029620]
movss xmm9, dword [0x180026278]
lea rsi, [0x1800296a8]
movss xmm10, dword [0x180026218]
mov r14d, 0x5f3759df
movaps xmmword [rsp + 0x680], xmm7
movaps xmmword [rsp + 0x640], xmm11
xorps xmm11, xmm11
mov dword [rbp + 0x20], 0
jle 0x18000b001
mov ebx, dword [rbp + 0x600]
xor ecx, ecx
mov edi, dword [rbp + 0x608]
mov qword [rsp + 0x6b8], r12
mov qword [rsp + 0x6a8], r15
movaps xmmword [rsp + 0x600], xmm15
movaps xmmword [rsp + 0x620], xmm13
mov qword [rbp + 0xa0], rcx
mov r12, qword [r8 + rcx*8]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
mov rcx, r12
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af9c
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af9c
cmp eax, 0x10
je 0x18000af9c
cmp qword [rbp - 0x68], 8
jb 0x18000af9c
mov rdx, qword [0x1800291c0]
mov rcx, r12
call fcn.18001e2b0
test al, al
je 0x18000af9c
cmp r12, qword [0x180029190]
je 0x18000af9c
mov esi, dword [0x18002d75c]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
add rsi, r12
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009a26
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009a26
cmp eax, 0x10
je 0x180009a26
cmp qword [rbp - 0x68], 8
jb 0x180009a26
mov rsi, qword [rsi]
jmp 0x180009a28
xor esi, esi
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rbp + 0xf0], rsi
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af9c
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af9c
cmp eax, 0x10
je 0x18000af9c
cmp qword [rbp - 0x68], 8
jb 0x18000af9c
mov rdx, qword [0x180029890]
test rdx, rdx
je 0x180009aa3
mov rax, qword [0x1800297f0]
test rax, rax
je 0x180009aa3
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x60]
mov rcx, rsi
call fcn.180023d9d
xorps xmm0, xmm0
comiss xmm0, dword [rbp + 0x60]
jae 0x18000af8c
mov esi, dword [0x18002d760]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
add rsi, r12
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009af6
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009af6
cmp eax, 0x10
je 0x180009af6
cmp qword [rbp - 0x68], 8
jb 0x180009af6
mov rsi, qword [rsi]
jmp 0x180009af8
xor esi, esi
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af8c
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af8c
cmp eax, 0x10
je 0x18000af8c
cmp qword [rbp - 0x68], 8
jb 0x18000af8c
mov rdx, qword [0x1800298a0]
mov rax, qword [0x1800297f0]
test rdx, rdx
je 0x180009b7c
test rax, rax
je 0x180009b7c
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x600]
mov rcx, rsi
call fcn.180023d9d
mov rax, qword [0x1800297f0]
mov ebx, dword [rbp + 0x600]
cmp ebx, dword [0x180029130]
je 0x18000af8c
mov rdx, qword [0x180029820]
xorps xmm6, xmm6
movsd qword [rbp + 0x90], xmm14
movups xmmword [rbp + 0x80], xmm6
test rdx, rdx
je 0x180009bca
test rax, rax
je 0x180009bca
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x80]
mov rcx, r12
call fcn.180023d9d
movups xmm6, xmmword [rbp + 0x80]
mov esi, dword [0x18002d750]
lea rdx, [rbp + 0x220]
mov rax, qword [0x180029778]
xor r9d, r9d
movsd xmm7, qword [rbp + 0x90]
add rsi, r12
mov rcx, rsi
movsd qword [rbp + 0x170], xmm7
movups xmmword [rbp + 0x160], xmm6
lea r8d, [r9 + 0x30]
mov qword [rsp + 0x20], rax
call fcn.180023d9d
test rax, rax
je 0x180009c30
mov eax, dword [rbp + 0x244]
cmp eax, 1
je 0x180009c30
cmp eax, 0x10
je 0x180009c30
cmp qword [rbp + 0x238], 8
jb 0x180009c30
mov r15, qword [rsi]
jmp 0x180009c33
xor r15d, r15d
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, r15
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af8c
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af8c
cmp eax, 0x10
je 0x18000af8c
cmp qword [rbp - 0x68], 8
jb 0x18000af8c
movups xmm0, xmmword [0x1800298a8]
lea rdx, [rbp + 0x140]
movsd xmm1, qword [0x1800298b8]
lea rcx, [rbp + 0x160]
movaps xmmword [rbp + 0x140], xmm0
movsd qword [rbp + 0x150], xmm1
call fcn.180006fb0
mov esi, dword [0x18002d744]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
movaps xmm15, xmm0
mov qword [rsp + 0x20], rax
add rsi, r12
mulsd xmm15, xmm12
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009cfb
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009cfb
cmp eax, 0x10
je 0x180009cfb
cmp qword [rbp - 0x68], 8
jb 0x180009cfb
mov r14, qword [rsi]
jmp 0x180009cfe
xor r14d, r14d
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, r14
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af92
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af92
cmp eax, 0x10
je 0x18000af92
cmp qword [rbp - 0x68], 8
jb 0x18000af92
mov esi, dword [0x18002d7c4]
lea rdx, [rbp - 0x80]
mov rax, qword [0x180029778]
xor r9d, r9d
add rsi, r14
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x180009d8c
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x180009d8c
cmp eax, 0x10
je 0x180009d8c
cmp qword [rbp - 0x68], 8
jb 0x180009d8c
mov rsi, qword [rsi]
jmp 0x180009d8e
xor esi, esi
mov rax, qword [0x180029778]
lea rdx, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000af86
mov eax, dword [rbp - 0x5c]
cmp eax, 1
je 0x18000af92
cmp eax, 0x10
je 0x18000af92
cmp qword [rbp - 0x68], 8
jb 0x18000af92
mov rdx, qword [0x180029870]
mov rax, qword [0x1800297f0]
test rdx, rdx
je 0x180009e12
test rax, rax
je 0x180009e12
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x608]
mov rcx, rsi
call fcn.180023d9d
mov rax, qword [0x1800297f0]
mov edi, dword [rbp + 0x608]
cmp byte [0x180029001], 0
je 0x180009e47
cmp edi, 0xf
movaps xmmword [rbp + 0x180], xmm6
lea rdx, [rbp + 0x180]
movsd qword [rbp + 0x190], xmm7
setge r8b
mov rcx, r13
call fcn.180023930
mov rax, qword [0x1800297f0]
mov rdx, qword [0x180029838]
xor ecx, ecx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rcx
test rdx, rdx
je 0x18000af92
test rax, rax
je 0x18000af92
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x30]
mov rcx, r14
call fcn.180023d9d
cmp qword [rbp + 0x30], 0
je 0x18000af92
mov rdx, qword [0x180029848]
xorps xmm0, xmm0
mov rax, qword [0x1800296a8]
xorps xmm1, xmm1
movsd qword [rbp - 0x20], xmm14
movaps xmm12, xmm14
movsd qword [rbp + 0x78], xmm14
mov qword [rbp + 0x100], rax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp + 0x68], xmm1
test rdx, rdx
je 0x180009ee4
mov rax, qword [0x1800297f0]
test rax, rax
je 0x180009ee4
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x100]
mov rcx, r15
call fcn.180023d9d
mov r8d, dword [rbp + 0x108]
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.18000d920
xor r8d, r8d
lea rdx, [rbp + 0x68]
mov rcx, r15
call fcn.18000d920
movsd xmm10, qword [rbp - 0x20]
lea rdx, [rbp + 0x1a0]
addsd xmm10, qword [0x1800263b8]
movups xmm0, xmmword [0x1800298a8]
lea rcx, [rbp + 0x1c0]
movsd xmm1, qword [0x1800298b8]
movups xmm11, xmmword [rbp - 0x30]
movsd qword [rbp - 0x20], xmm10
movsd qword [rbp + 0x1b0], xmm10
movaps xmmword [rbp + 0x1a0], xmm11
movaps xmmword [rbp + 0x1c0], xmm0
movsd qword [rbp + 0x1d0], xmm1
call fcn.18001e7a0
mov rdx, qword [0x180029850]
movaps xmm13, xmm11
mov rsi, qword [0x1800297f0]
xorps xmm0, xmm0
unpckhpd xmm13, xmm11
movsd qword [rbp - 0x28], xmm13
movsd qword [rbp - 0x30], xmm11
movsd qword [rbp - 0x20], xmm10
mov byte [rbp + 0x5f0], al
mov byte [rbp - 8], 0
movups xmmword [rbp - 0x18], xmm0
test rdx, rdx
je 0x180009fcc
test rsi, rsi
je 0x180009fcc
mov rcx, qword [0x180029170]
lea r8, [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180023d9d
mov rdx, qword [0x180029850]
mov rsi, qword [0x1800297f0]
cmp byte [rbp - 7], 0
je 0x18000a030
mov byte [rbp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmm0, xmmword [rbp + 0x68]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rbp + 0x78]
movsd qword [rbp - 0x70], xmm0
test rdx, rdx
je 0x18000a01f
test rsi, rsi
je 0x18000a01f
mov rcx, qword [0x180029170]
lea r8, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180023d9d
mov rdx, qword [0x180029850]
mov rsi, qword [0x1800297f0]
cmp byte [rbp - 0x57], 0
movsd xmm12, qword [rbp - 0x60]
je 0x18000a030
mov r13b, 1
jmp 0x18000a033
xor r13b, r13b
cmp byte [0x180029136], 0
movsd xmm9, qword [rbp - 0x10]
movsd xmm7, qword [rbp - 0x18]
movsd qword [rbp + 0x40], xmm9
jne 0x18000a05a
cmp byte [0x180029008], 0
je 0x18000a2c9
cmp byte [0x1800291e4], 0
jne 0x18000a1df
cmp byte [0x180029134], 0
jne 0x18000a1df
mov r14d, 0x5f3759df
test r13b, r13b
je 0x18000af67
movsd xmm0, qword [0x180029160]
mov eax, r14d
movsd xmm1, qword [0x180029158]
subsd xmm0, xmm9
movss xmm6, dword [0x180026278]
subsd xmm1, xmm7
movaps xmm3, xmm6
movaps xmm2, xmm6
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
cvtpd2ps xmm5, xmm0
movss dword [rsp + 0x70], xmm5
movaps xmm4, xmm5
mulss xmm4, dword [0x1800261f8]
mov ecx, dword [rsp + 0x70]
sar ecx, 1
sub eax, ecx
mov dword [rsp + 0x70], eax
movss xmm1, dword [rsp + 0x70]
movaps xmm0, xmm1
mulss xmm0, xmm4
mulss xmm0, xmm1
subss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm2, xmm1
movaps xmm1, xmm6
mulss xmm0, xmm2
mulss xmm0, xmm2
subss xmm3, xmm0
mulss xmm3, xmm2
movaps xmm0, xmm3
mulss xmm0, xmm4
mulss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x180026218]
mulss xmm1, xmm3
divss xmm0, xmm1
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x180029010]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x18000a2cf
movss dword [rsp + 0x70], xmm5
movaps xmm2, xmm6
mov ecx, dword [rsp + 0x70]
mov eax, r14d
sar ecx, 1
movaps xmm3, xmm6
sub eax, ecx
ucomisd xmm8, xmm14
mov dword [rsp + 0x70], eax
movss xmm1, dword [rsp + 0x70]
movaps xmm0, xmm1
mulss xmm0, xmm4
mulss xmm0, xmm1
subss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm2, xmm1
movaps xmm1, xmm6
mulss xmm0, xmm2
mulss xmm0, xmm2
subss xmm3, xmm0
movss xmm0, dword [0x180026218]
mulss xmm3, xmm2
mulss xmm4, xmm3
mulss xmm4, xmm3
subss xmm1, xmm4
mulss xmm1, xmm3
divss xmm0, xmm1
cvtps2pd xmm2, xmm0
jp 0x18000a1c3
jne 0x18000a1c3
movsd qword [rbp + 0x28], xmm2
mov qword [0x180029518], r12
jmp 0x18000a2cf
comisd xmm8, xmm2
jbe 0x18000a2cf
movsd qword [rbp + 0x28], xmm2
mov qword [0x180029518], r12
jmp 0x18000a2cf
lea r14, [0x180029620]
nop word [rax + rax]
mov rdx, qword [0x180029848]
mov rax, qword [r14]
mov qword [rbp - 0x48], rax
test rdx, rdx
je 0x18000a21c
test rsi, rsi
je 0x18000a21c
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x48]
mov rcx, r15
call fcn.180023d9d
mov r8d, dword [rbp - 0x40]
lea rdx, [0x18002d6d8]
mov rcx, r15
call fcn.18000d920
movups xmm0, xmmword [0x18002d6d8]
lea rdx, [rbp + 0x1e0]
movsd xmm1, qword [0x18002d6e8]
lea rcx, [rbp + 0x200]
movaps xmmword [rbp + 0x1e0], xmm0
movups xmm0, xmmword [0x1800298a8]
movsd qword [rbp + 0x1f0], xmm1
movsd xmm1, qword [0x1800298b8]
movaps xmmword [rbp + 0x200], xmm0
movsd qword [rbp + 0x210], xmm1
call fcn.18001e7a0
test al, al
je 0x18000a292
ucomisd xmm8, xmm14
jp 0x18000a28b
je 0x18000a2ae
comisd xmm8, xmm15
ja 0x18000a2ae
mov rsi, qword [0x1800297f0]
lea rax, [0x1800296a8]
add r14, 8
cmp r14, rax
jge 0x18000a2c2
jmp 0x18000a1f0
mov rsi, qword [0x1800297f0]
movsd qword [rbp + 0x28], xmm15
mov qword [0x180029518], r12
mov rdx, qword [0x180029850]
mov r14d, 0x5f3759df
test r13b, r13b
je 0x18000af67
cmp byte [0x180029135], 0
subsd xmm12, xmm9
movaps xmm6, xmm12
mulsd xmm6, qword [0x1800262c8]
movaps xmm14, xmm6
movsd qword [rbp - 0x38], xmm6
mulsd xmm14, qword [0x1800262c8]
subsd xmm7, xmm14
movsd qword [rsp + 0x70], xmm7
je 0x18000a69d
movsd qword [rbp - 0x80], xmm11
xorps xmm0, xmm0
movsd qword [rbp - 0x78], xmm13
movsd qword [rbp - 0x70], xmm10
mov byte [rbp - 0x58], 0
movups xmmword [rbp - 0x68], xmm0
test rdx, rdx
je 0x18000a359
test rsi, rsi
je 0x18000a359
mov rcx, qword [0x180029170]
lea r8, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180023d9d
mov rsi, qword [0x1800297f0]
cmp byte [rbp - 0x57], 0
je 0x18000a69d
mov rdx, qword [0x180029828]
xorps xmm0, xmm0
xorps xmm1, xmm1
movsd qword [rbp - 0x20], xmm1
movups xmmword [rbp - 0x30], xmm0
test rdx, rdx
je 0x18000a397
test rsi, rsi
je 0x18000a397
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x30]
mov rcx, r12
call fcn.180023d9d
movsd xmm6, qword [rbp - 0x28]
mulsd xmm6, qword [0x180026238]
movaps xmm0, xmm6
call fcn.18001f300
movaps xmm8, xmm0
movaps xmm0, xmm6
call fcn.18001f260
movsd xmm6, qword [rbp - 0x30]
movaps xmm7, xmm0
mulsd xmm6, qword [0x180026238]
movaps xmm0, xmm6
call fcn.18001f300
movaps xmm9, xmm0
movaps xmm0, xmm6
call fcn.18001f260
movsd xmm1, qword [0x180026498]
lea r9, [rbp + 0xb0]
mov rax, qword [0x180029150]
lea r8, [rbp + 0xd0]
mov rdx, qword [0x180029168]
movaps xmm2, xmm0
mov rcx, qword [0x1800291b0]
movaps xmm3, xmm0
movsd xmm0, qword [0x180026420]
mulsd xmm9, xmm0
mulsd xmm2, xmm7
mulsd xmm3, xmm8
mulsd xmm9, xmm1
mulsd xmm2, xmm0
mulsd xmm3, xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x320], xmm0
addsd xmm9, xmm10
mulsd xmm2, xmm1
mulsd xmm3, xmm1
xorps xmm1, xmm1
movups xmmword [rbp + 0x340], xmm0
movups xmmword [rbp + 0x360], xmm0
addsd xmm2, xmm11
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x3a0], xmm0
addsd xmm3, xmm13
movaps xmm0, xmmword [0x180026940]
movups xmmword [rbp + 0x330], xmm1
movups xmmword [rbp + 0x350], xmm1
movups xmmword [rbp + 0x370], xmm1
movups xmmword [rbp + 0x390], xmm1
movaps xmm1, xmm2
movups xmmword [rbp + 0x120], xmm0
movups xmm0, xmmword [rax + 0x98]
lea rax, [rbp + 0x120]
unpcklpd xmm1, xmm3
movaps xmmword [rbp - 0x30], xmm0
movss xmm0, dword [0x1800264a4]
movss dword [rsp + 0x60], xmm0
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x310]
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
movaps xmmword [rbp + 0xb0], xmm1
movaps xmm1, xmmword [0x1800268e0]
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
movsd qword [rbp - 0x20], xmm9
movsd qword [rbp + 0xc0], xmm9
movaps xmmword [rbp + 0xd0], xmm11
movsd qword [rbp + 0xe0], xmm10
movups xmmword [rbp + 0x80], xmm1
call fcn.18001e8a0
cmp dword [rbp + 0x3b8], 0
jne 0x18000a58b
movss xmm0, dword [rbp + 0x314]
ucomiss xmm0, dword [0x180026218]
jp 0x18000a58b
jne 0x18000a58b
cmp dword [rbp + 0x310], 0
xorps xmm11, xmm11
jne 0x18000a58f
movss xmm0, dword [rbp + 0x318]
ucomiss xmm0, xmm11
jp 0x18000a58f
jne 0x18000a58f
mov rsi, qword [0x1800297f0]
movsd xmm9, qword [rbp + 0x40]
movsd xmm6, qword [rbp - 0x38]
movsd xmm7, qword [rsp + 0x70]
jmp 0x18000a6a1
xorps xmm11, xmm11
movups xmm1, xmmword [rbp + 0x320]
xorps xmm0, xmm0
mov rdx, qword [0x180029850]
mov rsi, qword [0x1800297f0]
movsd qword [rbp - 0x30], xmm1
unpckhpd xmm1, xmm1
movsd qword [rbp - 0x28], xmm1
mov byte [rbp - 8], 0
movups xmmword [rbp - 0x18], xmm0
movsd xmm0, qword [rbp + 0x330]
movsd qword [rbp - 0x20], xmm0
test rdx, rdx
je 0x18000a5f3
test rsi, rsi
je 0x18000a5f3
mov rcx, qword [0x180029170]
lea r8, [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180023d9d
mov rsi, qword [0x1800297f0]
cmp byte [rbp - 7], 0
je 0x18000a575
movsd xmm6, qword [rbp - 0x10]
movsd xmm7, qword [rbp - 0x18]
movaps xmm3, xmm6
movsd xmm8, qword [rbp - 0x60]
movaps xmm2, xmm7
movsd xmm9, qword [rbp - 0x68]
movaps xmm1, xmm8
movaps xmm0, xmm9
call fcn.1800235a0
mov r13, qword [rbp + 0x5f8]
test al, al
je 0x18000a68a
test r13, r13
je 0x18000a68a
movups xmm0, xmmword [0x18002d0c0]
mov rdx, qword [0x180029808]
movsd qword [rbp - 0x80], xmm9
movsd qword [rbp - 0x78], xmm8
movsd qword [rbp - 0x70], xmm7
movsd qword [rbp - 0x68], xmm6
mov dword [rbp - 0x60], 0x3fc00000
movups xmmword [rbp - 0x5c], xmm0
test rdx, rdx
je 0x18000a68a
test rsi, rsi
je 0x18000a68a
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x80]
mov rcx, r13
call fcn.180023d9d
mov rsi, qword [0x1800297f0]
movsd xmm9, qword [rbp + 0x40]
movsd xmm6, qword [rbp - 0x38]
movsd xmm7, qword [rsp + 0x70]
jmp 0x18000a6a8
xorps xmm11, xmm11
mov r13, qword [rbp + 0x5f8]
cmp byte [0x180029002], 0
movzx r12d, byte [rbp + 0x5f0]
je 0x18000a748
movaps xmm3, xmm9
lea rax, [0x18002d4f0]
movaps xmm2, xmm7
addsd xmm3, xmm12
addsd xmm2, xmm6
test r12b, r12b
lea r14, [0x18002d4e0]
movaps xmm1, xmm9
movaps xmm0, xmm7
cmove r14, rax
call fcn.1800235a0
test al, al
je 0x18000a748
test r13, r13
je 0x18000a748
movups xmm0, xmmword [r14]
mov rdx, qword [0x180029810]
movsd qword [rbp - 0x80], xmm7
movsd qword [rbp - 0x78], xmm9
movsd qword [rbp - 0x70], xmm6
movsd qword [rbp - 0x68], xmm12
mov dword [rbp - 0x60], 0x3f800000
movups xmmword [rbp - 0x5c], xmm0
test rdx, rdx
je 0x18000a748
test rsi, rsi
je 0x18000a748
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x80]
mov rcx, r13
call fcn.180023d9d
mov rsi, qword [0x1800297f0]
cmp byte [0x180029003], 0
je 0x18000a792
movsd xmm0, qword [0x180026488]
comisd xmm0, xmm15
jbe 0x18000a792
test r12b, r12b
lea rcx, [0x18002d4f0]
lea rax, [0x18002d4e0]
mov rdx, r15
cmove rax, rcx
lea r8, [rbp - 0x30]
mov rcx, r13
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
call fcn.18000be90
mov rsi, qword [0x1800297f0]
xor edx, edx
lea rcx, [rbp + 0x400]
mov r8d, 0x100
call fcn.180023d10
cmp byte [0x180029007], 0
je 0x18000aa07
cmp byte [0x18002465d], 0
xorps xmm0, xmm0
mov eax, dword [0x180024658]
movups xmmword [rbp + 0x250], xmm0
mov dword [rbp + 0x58], eax
movzx eax, word [0x18002465c]
movups xmmword [rbp + 0x260], xmm0
mov word [rbp + 0x5c], ax
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movsd xmm0, qword [0x180024650]
movsd qword [rbp + 0x50], xmm0
je 0x18000a964
xor r8d, r8d
cmp dword [0x18002d7f0], 2
jl 0x18000a923
movdqa xmm2, xmmword [0x180026590]
mov eax, 5
movdqa xmm3, xmmword [0x1800265a0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180027200]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov r8d, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800265b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [0x180024650]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
pand xmm2, xmmword [0x1800265d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.4444444444444444]
pxor xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp + 0x50], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800265b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp + 0x54]
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800265d0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.4444444444444444]
pxor xmm2, xmm0
movd dword [rbp + 0x54], xmm2
mov eax, r8d
lea r9, [rbp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 0xe
jl 0x18000a930
mov r8d, edi
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x250]
call fcn.1800238f0
cmp byte [rbp + 0x400], 0
lea rax, [rbp + 0x400]
je 0x18000a98f
inc rax
cmp byte [rax], 0
jne 0x18000a987
movzx ecx, byte [rbp + 0x250]
test cl, cl
je 0x18000a9bd
lea rdx, [rbp + 0x250]
sub rdx, rax
nop dword [rax]
nop dword [rax + rax]
mov byte [rax], cl
inc rax
movzx ecx, byte [rdx + rax]
test cl, cl
jne 0x18000a9b0
mov byte [rax], 0
lea rax, [rbp + 0x400]
cmp byte [rbp + 0x400], 0
je 0x18000a9d8
inc rax
cmp byte [rax], 0
jne 0x18000a9d0
lea rdx, [0x180024670]
mov cl, 0xa
sub rdx, rax
nop dword [rax]
nop dword [rax + rax]
mov byte [rax], cl
lea rax, [rax + 1]
movzx ecx, byte [rax + rdx]
test cl, cl
jne 0x18000a9f0
mov rsi, qword [0x1800297f0]
mov byte [rax], cl
cmp byte [0x180029004], 0
je 0x18000ac57
cmp byte [0x180024667], 0
xorps xmm0, xmm0
mov rax, qword [0x180024660]
movups xmmword [rbp + 0x290], xmm0
mov qword [rbp + 0x5f0], rax
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm0
movups xmmword [rbp + 0x2c0], xmm0
je 0x18000abba
xor r8d, r8d
cmp dword [0x18002d7f0], 2
jl 0x18000ab7c
movdqa xmm2, xmmword [0x180026590]
mov eax, 5
movdqa xmm3, xmmword [0x1800265a0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x180027200]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
mov eax, dword [str.4444444444444444]
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800265b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800265d0]
movd xmm1, dword [rbp + 0x5f0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
pxor xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd dword [rbp + 0x5f0], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800265b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1800265d0]
movd xmm1, dword [rbp + 0x5f4]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
pxor xmm2, xmm1
movd dword [rbp + 0x5f4], xmm2
jmp 0x18000abba
lea r9, [rbp + 0x5f0]
nop dword [rax]
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x34
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x18000ab90
cvttsd2si r9d, xmm15
mov r8d, ebx
lea rdx, [rbp + 0x5f0]
lea rcx, [rbp + 0x290]
call fcn.1800238f0
cmp byte [rbp + 0x400], 0
lea rax, [rbp + 0x400]
je 0x18000abed
inc rax
cmp byte [rax], 0
jne 0x18000abe5
movzx ecx, byte [rbp + 0x290]
test cl, cl
je 0x18000ac0f
lea rdx, [rbp + 0x290]
sub rdx, rax
mov byte [rax], cl
inc rax
movzx ecx, byte [rdx + rax]
test cl, cl
jne 0x18000ac02
mov byte [rax], 0
lea rax, [rbp + 0x400]
cmp byte [rbp + 0x400], 0
je 0x18000ac2a
inc rax
cmp byte [rax], 0
jne 0x18000ac22
lea rdx, [0x180024670]
mov cl, 0xa
sub rdx, rax
nop word [rax + rax]
mov byte [rax], cl
lea rax, [rax + 1]
movzx ecx, byte [rdx + rax]
test cl, cl
jne 0x18000ac40
mov rsi, qword [0x1800297f0]
mov byte [rax], cl
cmp byte [0x180029005], 0
je 0x18000ad70
mov rdx, qword [0x180029890]
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
movups xmmword [rbp + 0x2e0], xmm0
movups xmmword [rbp + 0x2f0], xmm0
movups xmmword [rbp + 0x300], xmm0
test rdx, rdx
je 0x18000acac
test rsi, rsi
je 0x18000acac
mov rcx, qword [rbp + 0xf0]
lea r8, [rbp + 0x64]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call fcn.180023d9d
mov eax, dword [0x180024668]
lea rdx, [rsp + 0x78]
movss xmm2, dword [rbp + 0x64]
lea rcx, [rbp + 0x2d0]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x18002466c]
xor byte [rsp + 0x79], 0x35
xor al, 0x38
xor byte [rsp + 0x7a], 0x36
xor byte [rsp + 0x7b], 0x37
cvtps2pd xmm2, xmm2
mov byte [rsp + 0x78], 0x48
mov byte [rsp + 0x7c], al
movq r8, xmm2
call fcn.1800238f0
cmp byte [rbp + 0x400], 0
lea rax, [rbp + 0x400]
je 0x18000ad0d
inc rax
cmp byte [rax], 0
jne 0x18000ad05
movzx ecx, byte [rbp + 0x2d0]
test cl, cl
je 0x18000ad2f
lea rdx, [rbp + 0x2d0]
sub rdx, rax
mov byte [rax], cl
inc rax
movzx ecx, byte [rdx + rax]
test cl, cl
jne 0x18000ad22
mov byte [rax], 0
lea rax, [rbp + 0x400]
cmp byte [rbp + 0x400], 0
je 0x18000ad4a
inc rax
cmp byte [rax], 0
jne 0x18000ad42
lea rdx, [0x180024670]
mov cl, 0xa
sub rdx, rax
nop word [rax + rax]
mov byte [rax], cl
lea rax, [rax + 1]
movzx ecx, byte [rdx + rax]
test cl, cl
jne 0x18000ad60
mov byte [rax], cl
movups xmm0, xmmword [0x18002d260]
mov rdx, qword [0x180029180]
lea rax, [rbp + 0x400]
movups xmm1, xmmword [0x18002d500]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
movsd xmm6, qword [rsp + 0x70]
movaps xmm3, xmm9
mov byte [rsp + 0x38], 0
movaps xmm2, xmm6
addsd xmm2, qword [rbp - 0x38]
mov dword [rsp + 0x30], 0xb
movq r9, xmm3
mov qword [rsp + 0x28], rax
mov rcx, r13
lea rax, [rbp + 0x80]
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp + 0x80], xmm1
addsd xmm2, qword [0x180026328]
mov qword [rsp + 0x20], rax
movq r8, xmm2
call fcn.18000b940
cmp byte [0x180029006], 0
je 0x18000af4f
movups xmm0, xmmword [0x18002d260]
mov rsi, qword [0x180029180]
movups xmm1, xmmword [0x18002d500]
subsd xmm9, qword [0x1800263b8]
addsd xmm14, xmm6
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmmword [rbp + 0xf0], xmm1
movaps xmm3, xmm9
movaps xmm1, xmm9
movaps xmm2, xmm14
movaps xmm0, xmm14
call fcn.1800235a0
test al, al
je 0x18000af4f
mov dword [rsi + 0x13c], 0xb
test r13, r13
je 0x18000af4f
mov rdx, qword [rbp + 0x30]
xorps xmm0, xmm0
movaps xmm1, xmmword [0x1800268c0]
movups xmmword [rbp + 0x80], xmm0
cmp word [rdx], 0
movaps xmm0, xmmword [0x180027170]
movsd qword [rbp + 0x130], xmm14
movsd qword [rbp + 0x138], xmm9
movups xmmword [rbp + 0x120], xmm1
movups xmmword [rbp + 0x40], xmm0
je 0x18000aeb5
mov rcx, rdx
nop dword [rax + rax]
add rcx, 2
cmp word [rcx], 0
jne 0x18000aea0
sub rcx, rdx
sar rcx, 1
inc rcx
jmp 0x18000aeb7
xor ecx, ecx
movss xmm10, dword [0x180026218]
lea r9, [rbp + 0x130]
xor eax, eax
mov dword [rbp + 0x118], ecx
test ecx, ecx
mov dword [rbp + 0x11c], ecx
lea r8, [rbp + 0x110]
mov rcx, r13
cmovne rax, rdx
mov rdx, rsi
mov qword [rbp + 0x110], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x80]
mov byte [rsp + 0x58], 1
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0x120]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0xf0]
movss dword [rsp + 0x30], xmm10
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.18001e390
movsd xmm12, qword [0x180026228]
xorps xmm14, xmm14
jmp 0x18000af96
movss xmm10, dword [0x180026218]
xorps xmm14, xmm14
movsd xmm12, qword [0x180026228]
jmp 0x18000af96
movss xmm10, dword [0x180026218]
xorps xmm11, xmm11
movsd xmm12, qword [0x180026228]
mov r13, qword [rbp + 0x5f8]
jmp 0x18000af9c
mov r14d, 0x5f3759df
xorps xmm11, xmm11
jmp 0x18000af9c
xorps xmm11, xmm11
mov r14d, 0x5f3759df
mov eax, dword [rbp + 0x20]
mov rcx, qword [rbp + 0xa0]
inc eax
movsd xmm8, qword [rbp + 0x28]
inc rcx
mov r8, qword [rbp + 0x10]
mov dword [rbp + 0x20], eax
mov qword [rbp + 0xa0], rcx
cmp eax, dword [rbp + 0x18]
jl 0x180009970
movss xmm9, dword [0x180026278]
lea rdi, [0x180029620]
movaps xmm15, xmmword [rsp + 0x600]
lea rsi, [0x1800296a8]
movaps xmm13, xmmword [rsp + 0x620]
mov r15, qword [rsp + 0x6a8]
mov r12, qword [rsp + 0x6b8]
cmp byte [section..data], 0
jne 0x18000b8da
cmp byte [0x180029136], 0
jne 0x18000b024
cmp byte [0x180029008], 0
je 0x18000b8da
cmp byte [0x1800291e5], 0
je 0x18000b074
cmp byte [0x1800291e4], 0
jne 0x18000b074
movups xmm0, xmmword [0x18002d280]
lea rax, [rbp - 0x30]
mov rcx, r13
cvttss2si r9d, dword [0x180029010]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20
movsd xmm2, qword [0x180029160]
movsd xmm1, qword [0x180029158]
movdqa xmmword [rbp - 0x30], xmm0
call fcn.1800070b0
mov ecx, dword [0x1800291f0]
test ecx, ecx
je 0x18000b0a2
sub ecx, 1
je 0x18000b09b
sub ecx, 1
je 0x18000b094
cmp ecx, 1
jne 0x18000b0a2
mov ecx, 0x11
jmp 0x18000b0a7
mov ecx, 0x12
jmp 0x18000b0a7
mov ecx, 2
jmp 0x18000b0a7
mov ecx, 1
call fcn.18001e470
test al, al
jne 0x18000b0d6
cmp byte [0x1800291e8], al
jne 0x18000b0d6
cmp byte [0x180029134], al
jne 0x18000b0d6
mov byte [0x1800291fd], al
mov qword [0x180029518], 0
jmp 0x18000b8da
mov rax, qword [0x180029518]
test rax, rax
je 0x18000b6fd
mov ecx, dword [0x18002d75c]
add rcx, rax
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rbx, rax
call fcn.18001e330
test eax, eax
jne 0x18000b0c6
mov rcx, rbx
call fcn.18000ded0
comiss xmm11, xmm0
jae 0x18000b0c6
mov rcx, qword [0x180029518]
call fcn.18000df10
cmp byte [0x180029137], 0
mov rbx, rax
jne 0x18000b479
cmp byte [0x180029134], 0
jne 0x18000b479
mov rdx, qword [0x180029848]
mov rcx, qword [0x1800296b0]
mov qword [rbp - 0x48], rcx
test rdx, rdx
je 0x18000b176
mov rax, qword [0x1800297f0]
test rax, rax
je 0x18000b176
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov rcx, rbx
call fcn.180023d9d
mov r8d, dword [rbp - 0x40]
lea rdx, [0x18002d6d8]
mov rcx, rbx
call fcn.18000d920
mov rdx, qword [0x180029850]
xorps xmm0, xmm0
mov rbx, qword [0x1800297f0]
mov byte [rbp - 0x58], 0
movups xmmword [rbp - 0x68], xmm0
movups xmm0, xmmword [0x18002d6d8]
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x18002d6e8]
movsd qword [rbp - 0x70], xmm0
test rdx, rdx
je 0x18000b1e3
test rbx, rbx
je 0x18000b1e3
mov rcx, qword [0x180029170]
lea r8, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call fcn.180023d9d
mov rbx, qword [0x1800297f0]
movsd xmm6, qword [rbp - 0x60]
movsd xmm7, qword [rbp - 0x68]
movups xmm0, xmmword [0x18002d0c0]
subsd xmm6, qword [0x180026308]
subsd xmm7, qword [0x180026308]
movdqa xmmword [rbp + 0x30], xmm0
movaps xmm3, xmm6
movaps xmm1, xmm6
addsd xmm3, qword [0x180026350]
movaps xmm2, xmm7
movaps xmm0, xmm7
addsd xmm2, qword [0x180026350]
call fcn.1800235a0
test al, al
je 0x18000b2bd
test r13, r13
je 0x18000b2bd
mov rax, qword [0x1800291d8]
xorps xmm0, xmm0
movaps xmm1, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp + 0x18], 0x40a00000
mov qword [rax + 0x318], r13
mov rax, qword [0x1800291d8]
movups xmmword [rbp], xmm1
mov dword [rbp + 0x1c], 0x40a00000
cvtpd2ps xmm1, xmm7
mov qword [rax + 0x320], r13
mov rdx, qword [0x180029818]
mov rbx, qword [0x1800297f0]
cvtpd2ps xmm0, xmm6
movss dword [rbp + 0x10], xmm1
movss dword [rbp + 0x14], xmm0
test rdx, rdx
je 0x18000b2bd
test rbx, rbx
je 0x18000b2bd
mov rcx, qword [0x1800291d8]
lea r8, [rbp]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call fcn.180023d9d
mov rbx, qword [0x1800297f0]
cmp qword [0x180029190], 0
je 0x18000b70f
cmp byte [0x1800291e8], 0
je 0x18000b2e1
cmp byte [0x180029137], 0
jne 0x18000b6f4
cmp byte [0x180029134], 0
jne 0x18000b6f4
cmp byte [0x180029008], 0
je 0x18000b6eb
movsd xmm7, qword [0x18002d6d8]
movaps xmm2, xmm9
movsd xmm8, qword [0x18002d6e0]
movaps xmm3, xmm9
subsd xmm7, qword [0x1800298a8]
subsd xmm8, qword [0x1800298b0]
movsd xmm5, qword [0x18002d6e8]
subsd xmm5, qword [0x1800298b8]
movaps xmm0, xmm7
mulsd xmm0, xmm7
movaps xmm1, xmm8
mulsd xmm1, xmm8
addsd xmm1, xmm0
cvtpd2ps xmm1, xmm1
movss dword [rbp + 0x5f0], xmm1
movaps xmm4, xmm1
mulss xmm4, dword [0x1800261f8]
mov eax, dword [rbp + 0x5f0]
sar eax, 1
sub r14d, eax
movaps xmm0, xmm4
mov dword [rbp + 0x5f0], r14d
movss xmm1, dword [rbp + 0x5f0]
mulss xmm0, xmm1
mulss xmm0, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
xorps xmm1, xmm1
movaps xmm0, xmm2
mulss xmm0, xmm4
mulss xmm0, xmm2
subss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm3, xmm2
movaps xmm2, xmm3
mulss xmm2, xmm4
mulss xmm2, xmm3
subss xmm9, xmm2
mulss xmm9, xmm3
divss xmm10, xmm9
cvtss2sd xmm1, xmm10
call fcn.18001ee10
movaps xmm9, xmm0
movaps xmm1, xmm7
mulsd xmm9, qword [0x1800263f8]
movaps xmm0, xmm8
call fcn.18001ee10
mov rdx, qword [0x180029830]
movaps xmm7, xmm0
mulsd xmm7, qword [0x1800263f8]
xorps xmm1, xmm1
movss xmm6, dword [0x180029014]
movaps xmm2, xmm14
movsd qword [rbp + 0x78], xmm2
movups xmmword [rbp + 0x68], xmm1
test rdx, rdx
je 0x18000b43b
test rbx, rbx
je 0x18000b43b
mov rcx, qword [0x180029170]
lea r8, [rbp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call fcn.180023d9d
movsd xmm2, qword [rbp + 0x78]
mov rbx, qword [0x1800297f0]
movsd xmm5, qword [rbp + 0x70]
movsd xmm3, qword [0x180026450]
subsd xmm7, xmm5
movsd xmm4, qword [rbp + 0x68]
movsd xmm0, qword [0x180026490]
subsd xmm9, xmm4
movsd xmm1, qword [0x180026578]
comisd xmm7, xmm3
jbe 0x18000b64f
subsd xmm7, xmm0
jmp 0x18000b659
mov eax, dword [0x1800291ec]
test eax, eax
jne 0x18000b48c
mov rax, qword [0x1800296a8]
jmp 0x18000b501
cmp eax, 1
jne 0x18000b4f5
mov rdx, qword [0x180029848]
mov rax, qword [0x1800296b0]
mov qword [rbp - 0x48], rax
test rdx, rdx
je 0x18000b4c8
mov rax, qword [0x1800297f0]
test rax, rax
je 0x18000b4c8
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov rcx, rbx
call fcn.180023d9d
mov r8d, dword [rbp - 0x40]
lea rdx, [0x18002d6d8]
mov rcx, rbx
call fcn.18000d920
movsd xmm0, qword [0x18002d6e8]
addsd xmm0, qword [0x180026568]
movsd qword [0x18002d6e8], xmm0
jmp 0x18000b544
cmp eax, 2
jne 0x18000b544
mov rax, qword [0x1800296b8]
mov rdx, qword [0x180029848]
mov qword [rbp - 0x48], rax
test rdx, rdx
je 0x18000b531
mov rax, qword [0x1800297f0]
test rax, rax
je 0x18000b531
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov rcx, rbx
call fcn.180023d9d
mov r8d, dword [rbp - 0x40]
lea rdx, [0x18002d6d8]
mov rcx, rbx
call fcn.18000d920
movups xmm0, xmmword [0x18002d6d8]
lea rdx, [rbp + 0xd0]
movsd xmm1, qword [0x18002d6e8]
lea rcx, [rbp + 0xb0]
movaps xmmword [rbp + 0xd0], xmm0
movups xmm0, xmmword [0x1800298a8]
movsd qword [rbp + 0xe0], xmm1
movsd xmm1, qword [0x1800298b8]
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xc0], xmm1
call fcn.18001e7a0
test al, al
jne 0x18000b189
nop dword [rax + rax]
mov rdx, qword [0x180029848]
mov rax, qword [rdi]
mov qword [rbp - 0x48], rax
test rdx, rdx
je 0x18000b5d3
mov rax, qword [0x1800297f0]
test rax, rax
je 0x18000b5d3
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov rcx, rbx
call fcn.180023d9d
mov r8d, dword [rbp - 0x40]
lea rdx, [0x18002d6d8]
mov rcx, rbx
call fcn.18000d920
movups xmm0, xmmword [0x18002d6d8]
lea rdx, [rbp + 0xd0]
movsd xmm1, qword [0x18002d6e8]
lea rcx, [rbp + 0xb0]
movaps xmmword [rbp + 0xd0], xmm0
movups xmm0, xmmword [0x1800298a8]
movsd qword [rbp + 0xe0], xmm1
movsd xmm1, qword [0x1800298b8]
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xc0], xmm1
call fcn.18001e7a0
test al, al
jne 0x18000b189
add rdi, 8
cmp rdi, rsi
jl 0x18000b5a0
jmp 0x18000b708
comisd xmm1, xmm7
jbe 0x18000b659
addsd xmm7, xmm0
comisd xmm9, xmm3
jbe 0x18000b667
subsd xmm9, xmm0
jmp 0x18000b673
comisd xmm1, xmm9
jbe 0x18000b673
addsd xmm9, xmm0
movsd xmm1, qword [0x180026570]
comisd xmm1, xmm9
ja 0x18000b68f
movsd xmm1, qword [0x180026418]
minsd xmm1, xmm9
mov rdx, qword [0x180029840]
mov byte [rbp + 0x18], 0
cvtps2pd xmm0, xmm6
divsd xmm1, xmm0
divsd xmm7, xmm0
addsd xmm1, xmm4
addsd xmm7, xmm5
divsd xmm14, xmm0
movsd qword [rbp], xmm1
movsd qword [rbp + 8], xmm7
addsd xmm14, xmm2
movsd qword [rbp + 0x10], xmm14
test rdx, rdx
je 0x18000b70f
test rbx, rbx
je 0x18000b70f
mov rcx, qword [0x180029170]
lea r8, [rbp]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
call fcn.180023d9d
jmp 0x18000b70f
cmp byte [0x180029136], 0
je 0x18000b70f
mov byte [0x1800291fd], 1
jmp 0x18000b70f
mov qword [0x180029518], 0
mov byte [0x1800291fd], 0
cmp byte [0x1800291e8], 0
jne 0x18000b725
cmp byte [0x180029134], 0
je 0x18000b8da
mov rcx, qword [0x180029140]
mov edx, 8
call fcn.18001e330
test eax, eax
jne 0x18000b7ad
mov ecx, dword [0x18002d7bc]
add rcx, qword [0x180029140]
call fcn.180001050
mov edx, 8
mov rcx, rax
mov rdi, rax
call fcn.18001e330
test eax, eax
jne 0x18000b7ad
mov ebx, dword [0x18002d7c0]
lea rdx, [rbp + 0x220]
mov rax, qword [0x180029778]
xor r9d, r9d
add rbx, rdi
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8d, [r9 + 0x30]
call fcn.180023d9d
test rax, rax
je 0x18000b7ad
mov eax, dword [rbp + 0x244]
cmp eax, 1
je 0x18000b7ad
cmp eax, 0x10
je 0x18000b7ad
cmp qword [rbp + 0x238], 8
jb 0x18000b7ad
mov byte [rbx], 1
mov rcx, qword [0x180029138]
mov edx, 8
call fcn.18001e330
test eax, eax
jne 0x18000b8da
cmp byte [0x1800291fd], al
je 0x18000b89c
mov rax, qword [0x180029770]
xor edx, edx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea ecx, [rdx + 1]
call fcn.180023d9d
mov rcx, qword [0x180029148]
mov r9d, eax
mov rax, qword [0x180029768]
mov edx, 0x100
shl r9d, 0x10
mov r8d, 0x52
mov qword [rsp + 0x20], rax
call fcn.180023d9d
mov rax, qword [0x180029770]
xor edx, edx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea ecx, [rdx + 1]
call fcn.180023d9d
mov rcx, qword [0x180029148]
mov r9d, eax
mov rax, qword [0x180029768]
mov edx, 0x101
shl r9d, 0x10
mov r8d, 0x52
or r9d, 0xc0000001
mov qword [rsp + 0x20], rax
call fcn.180023d9d
mov rax, qword [0x180029138]
mov dl, 1
mov ecx, dword [0x18002d7ac]
dec rax
add rcx, rax
call fcn.180001110
mov ecx, dword [0x18002d7ac]
mov dl, 1
add rcx, qword [0x180029138]
call fcn.180001110
mov byte [0x1800291fe], 1
jmp 0x18000b8da
cmp byte [0x1800291fe], 0
je 0x18000b8da
mov rax, qword [0x180029138]
xor edx, edx
mov ecx, dword [0x18002d7ac]
dec rax
add rcx, rax
call fcn.180001110
mov ecx, dword [0x18002d7ac]
xor edx, edx
add rcx, qword [0x180029138]
call fcn.180001110
mov byte [0x1800291fe], 0
movaps xmm7, xmmword [rsp + 0x680]
movaps xmm11, xmmword [rsp + 0x640]
movaps xmm10, xmmword [rsp + 0x650]
movaps xmm9, xmmword [rsp + 0x660]
movaps xmm8, xmmword [rsp + 0x670]
mov r14, qword [rsp + 0x6b0]
movaps xmm6, xmmword [rsp + 0x690]
movaps xmm12, xmmword [rsp + 0x630]
movaps xmm14, xmmword [rsp + 0x610]
mov rsi, qword [rsp + 0x6c0]
add rsp, 0x6c8
pop r13
pop rdi
pop rbx
pop rbp
ret