Function at 0x1800605c0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2a8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x1802ec4c0]
xor rax, rsp
mov qword [rbp + 0xf0], rax
movaps xmm6, xmm3
movaps xmm13, xmm2
movss dword [rbp - 0x6c], xmm13
mov ebx, edx
mov dword [rbp - 0x70], edx
mov qword [rbp], rcx
mov qword [rbp - 8], rcx
mov rdi, qword [rbp + 0x210]
mov qword [rbp - 0x38], rdi
mov rax, qword [rbp + 0x218]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x220]
mov qword [rbp - 8], rax
mov dword [rsp + 0x60], 0
movss xmm0, dword [0x1802f8f0c]
mulss xmm0, dword [0x1802b838c]
divss xmm0, dword [0x1802b8474]
movss dword [rbp - 0x58], xmm0
movzx eax, byte [0x180343f40]
mov byte [rsp + 0x78], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov r8d, 6
lea rdx, str.height
lea rcx, [rbp + 0x20]
call fcn.1800596c0
mov r8b, 1
lea rdx, [rbp + 0x20]
movss xmm0, dword [0x1802b80b8]
call fcn.180059ab0
movaps xmm11, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 0x20]
call fcn.180059890
xorps xmm1, xmm1
movups xmmword [rbp + 0x20], xmm1
xorps xmm2, xmm2
movdqu xmmword [rbp + 0x30], xmm2
mov r8d, 6
lea rdx, str.height
lea rcx, [rbp + 0x20]
call fcn.1800596c0
mov r8b, 1
lea rdx, [rbp + 0x20]
movss xmm0, dword [0x1802b8050]
call fcn.180059ab0
movaps xmm10, xmm0
movss dword [rbp - 0x54], xmm10
lea rcx, [rbp + 0x20]
call fcn.180059890
movaps xmm1, xmm10
mulss xmm1, dword [0x1802b819c]
subss xmm6, xmm1
movss dword [rsp + 0x68], xmm6
xorps xmm1, xmm1
movups xmmword [rbp + 0x20], xmm1
xorps xmm2, xmm2
movdqu xmmword [rbp + 0x30], xmm2
mov r8d, 6
lea rdx, str.height
lea rcx, [rbp + 0x20]
call fcn.1800596c0
mov r8b, 1
lea rdx, [rbp + 0x20]
movss xmm0, dword [0x1802b8048]
call fcn.180059ab0
movaps xmm7, xmm0
movss dword [rsp + 0x7c], xmm7
lea rcx, [rbp + 0x20]
call fcn.180059890
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
sar rcx, 5
xorps xmm12, xmm12
test rcx, rcx
js 0x1800607b0
cvtsi2ss xmm12, rcx
jmp 0x1800607c6
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm12, rax
addss xmm12, xmm12
subss xmm12, dword [0x1802b822c]
mulss xmm12, xmm7
addss xmm12, dword [0x1802b82cc]
movss dword [rbp - 0x40], xmm12
movaps xmm0, xmm11
mulss xmm0, dword [0x1802b8064]
addss xmm0, xmm12
movss dword [rbp - 0x74], xmm0
movaps xmm8, xmm6
movss dword [rbp - 0x48], xmm8
cmp byte [0x180343f38], 0
je 0x18006081b
addss xmm8, dword [0x180343f3c]
movss dword [rbp - 0x48], xmm8
cmp byte [0x180343f40], 0
je 0x180060893
xor ecx, ecx
mov dword [rsp + 0x74], ecx
mov eax, dword [0x180343f64]
inc eax
test eax, eax
jle 0x180060893
xor edx, edx
xorps xmm7, xmm7
nop dword [rax + rax]
cmp edx, ebx
je 0x18006087f
lea r8, [rsp + 0x74]
lea rdx, [rbp + 0x10]
call fcn.18005e370
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x14]
comiss xmm0, xmm7
jbe 0x18006087b
lea r8, [rsp + 0x74]
lea rdx, [rbp + 0x40]
call fcn.18005e370
mov rcx, qword [rax]
addss xmm6, dword [rcx + 0x14]
movss dword [rsp + 0x68], xmm6
mov ecx, dword [rsp + 0x74]
inc ecx
mov dword [rsp + 0x74], ecx
mov edx, ecx
mov eax, dword [0x180343f64]
inc eax
cmp ecx, eax
jl 0x180060840
cmp ebx, dword [0x180343f64]
jl 0x1800608a1
mov dword [0x180343f64], ebx
mov dword [0x180343f44], ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], 8
mov qword [rbp + 0x68], 0xf
movabs rax, 0x4955476b63696c43
mov qword [rbp + 0x50], rax
mov byte [rbp + 0x58], 0
movabs r14, 0xcbf29ce484222325
mov rcx, r14
xor edx, edx
movabs rbx, 0x100000001b3
nop dword [rax]
movzx eax, byte [rbp + rdx + 0x50]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, 8
jb 0x1800608f0
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180060925
lock inc dword [rcx + 8]
movss xmm6, dword [rsp + 0x68]
mov r15, qword [rax]
mov qword [rbp + 0x10], r15
mov r13, qword [rax + 8]
mov qword [rbp + 0x18], r13
mov edi, 0x2000
mov dword [rsp + 0x60], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov ecx, 0x20
call fcn.18020e888
mov rsi, rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0xa0], 0x13
mov qword [rbp + 0xa8], 0x1f
movups xmm0, xmmword [str.colors_primary3_rgb]
movups xmmword [rax], xmm0
movzx ecx, word [0x1802a2528]
mov word [rax + 0x10], cx
movzx ecx, byte [0x1802a252a]
mov byte [rax + 0x12], cl
mov byte [rax + 0x13], 0
mov rcx, r14
xor edx, edx
nop dword [rax]
movzx eax, byte [rdx + rsi]
xor rcx, rax
imul rcx, rbx
inc rdx
cmp rdx, 0x13
jb 0x1800609a0
mov rax, qword [r15 + 0xa0]
and rax, rcx
add rax, rax
mov rcx, qword [r15 + 0x88]
mov rbx, qword [rcx + rax*8 + 8]
mov r12, qword [r15 + 0x78]
cmp rbx, r12
je 0x180060a12
mov r15, qword [rcx + rax*8]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800609f2
mov rdx, qword [rdx]
cmp rax, 0x13
jne 0x180060a07
mov r8, rax
mov rcx, rsi
call fcn.180245950
test eax, eax
je 0x180060a14
cmp rbx, r15
je 0x180060a12
mov rbx, qword [rbx + 8]
jmp 0x1800609e0
xor ebx, ebx
test rbx, rbx
je 0x180060a24
cmp rbx, r12
je 0x180060a24
mov rax, qword [rbx + 0x30]
jmp 0x180060a26
xor eax, eax
cmp byte [rax + 0x28], 0
je 0x180060a3c
movups xmm0, xmmword [0x180343f50]
mov rbx, qword [rbp + 0x48]
jmp 0x180060b1a
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 8
mov qword [rbp + 0x38], 0xf
movabs rax, 0x4955476b63696c43
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
mov dword [rsp + 0x60], 0x2001
mov edx, 8
lea rcx, [rbp + 0x20]
call fcn.18004e3e0
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180060a9f
lock inc dword [rcx + 8]
mov r13, qword [rbp + 0x18]
movss xmm6, dword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x40], rcx
mov rbx, qword [rax + 8]
mov qword [rbp + 0x48], rbx
add rcx, 0x70
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [0x1802b8660]
movdqu xmmword [rbp + 0x80], xmm1
movsd xmm0, qword [str.colors_primary3]
movsd qword [rbp + 0x70], xmm0
mov eax, dword [0x1802a2510]
mov dword [rbp + 0x78], eax
movzx eax, word [0x1802a2514]
mov word [rbp + 0x7c], ax
movzx eax, byte [0x1802a2516]
mov byte [rbp + 0x7e], al
mov byte [rbp + 0x7f], 0
mov edi, 0x82007
mov dword [rsp + 0x60], edi
lea rdx, [rbp + 0x70]
call fcn.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x30]
call fcn.180085120
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x10]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
test dil, 4
je 0x180060b54
and edi, 0xfffffffb
mov dword [rsp + 0x60], edi
mov r8, qword [rbp + 0x88]
cmp r8, 0xf
jbe 0x180060b54
mov rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.180059850
nop
test dil, 2
je 0x180060b6f
and edi, 0xfffffffd
mov dword [rsp + 0x60], edi
test rbx, rbx
je 0x180060b6f
mov rcx, rbx
call fcn.180003820
nop
test dil, 1
je 0x180060b86
and edi, 0xfffffffe
mov dword [rsp + 0x60], edi
lea rcx, [rbp + 0x20]
call fcn.180059890
nop
mov edx, 0x20
mov rcx, rsi
call fcn.18020e750
nop
test r13, r13
je 0x180060ba2
mov rcx, r13
call fcn.180003820
nop
movss xmm9, dword [0x180343f60]
movss dword [rbp - 0x68], xmm9
movss dword [rbp + 0x9c], xmm9
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], 8
mov qword [rbp + 0xc8], 0xf
movabs r13, 0x4955476b63696c43
mov qword [rbp + 0xb0], r13
mov byte [rbp + 0xb8], 0
mov rcx, r14
xor edx, edx
movabs r12, 0x100000001b3
movzx eax, byte [rbp + rdx + 0xb0]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, 8
jb 0x180060c01
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180060c3d
lock inc dword [rcx + 8]
mov edi, dword [rsp + 0x60]
movss xmm6, dword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
mov r15, qword [rax + 8]
mov qword [rbp + 0x18], r15
bts edi, 0xf
mov dword [rsp + 0x60], edi
lea rbx, [rcx + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov r8d, 0x13
lea rdx, str.colors_primary1_rgb
lea rcx, [rbp + 0x20]
call fcn.1800596c0
nop
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.180044ae0
cmp byte [rax + 0x28], 0
je 0x180060ca4
movups xmm0, xmmword [0x180343f50]
mov rbx, qword [rbp + 0x68]
mov rsi, qword [rbp + 0x48]
jmp 0x180060d94
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], 8
mov ebx, 0xf
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x50], r13
mov byte [rbp + 0x58], 0
or edi, 8
mov dword [rsp + 0x60], edi
mov rcx, r14
xor edx, edx
movzx eax, byte [rbp + rdx + 0x50]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, 8
jb 0x180060cd0
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rsi, rax
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180060d14
lock inc dword [rcx + 8]
mov r15, qword [rbp + 0x18]
mov rbx, qword [rbp + 0x68]
mov edi, dword [rsp + 0x60]
movss xmm6, dword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rbp + 0x40], rax
mov rsi, qword [rsi + 8]
mov qword [rbp + 0x48], rsi
bts edi, 0x11
or edi, 0x10
lea rcx, [rax + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
movdqa xmm1, xmmword [0x1802b8660]
movdqu xmmword [rbp + 0x80], xmm1
movsd xmm0, qword [str.colors_primary1]
movsd qword [rbp + 0x70], xmm0
mov eax, dword [0x1802a2538]
mov dword [rbp + 0x78], eax
movzx eax, word [0x1802a253c]
mov word [rbp + 0x7c], ax
movzx eax, byte [0x1802a253e]
mov byte [rbp + 0x7e], al
mov byte [rbp + 0x7f], 0
or edi, 0x20
mov dword [rsp + 0x60], edi
lea rdx, [rbp + 0x70]
call fcn.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp - 0x30]
call fcn.180085120
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x10]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
test dil, 0x20
je 0x180060dcb
and edi, 0xffffffdf
mov dword [rsp + 0x60], edi
mov r8, qword [rbp + 0x88]
cmp r8, 0xf
jbe 0x180060dcb
mov rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.180059850
nop
test dil, 0x10
je 0x180060de6
and edi, 0xffffffef
mov dword [rsp + 0x60], edi
test rsi, rsi
je 0x180060de6
mov rcx, rsi
call fcn.180003820
nop
test dil, 8
je 0x180060e0a
and edi, 0xfffffff7
mov dword [rsp + 0x60], edi
cmp rbx, 0xf
jbe 0x180060e0a
mov r8, rbx
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.180059850
nop
mov r8, qword [rbp + 0x38]
cmp r8, 0xf
jbe 0x180060e22
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.180059850
nop
test r15, r15
je 0x180060e30
mov rcx, r15
call fcn.180003820
nop
movss xmm7, dword [0x180343f60]
movss dword [rbp - 0x78], xmm6
movsxd rax, dword [rbp - 0x70]
imul r15, rax, 0x68
lea rax, [0x180304b90]
cmp byte [r15 + rax + 0x5c], 0
jne 0x180060e7b
movups xmm0, xmmword [rbp + 0x90]
movups xmmword [r15 + rax + 0x4c], xmm0
subss xmm6, xmm12
movss dword [rsp + 0x68], xmm6
movss dword [r15 + rax + 0x60], xmm6
mov byte [r15 + rax + 0x5c], 1
jmp 0x180060e88
movss xmm0, dword [r15 + rax + 0x60]
movss dword [rsp + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], 8
mov qword [rbp + 0xc8], 0xf
mov qword [rbp + 0xb0], r13
mov byte [rbp + 0xb8], 0
mov rcx, r14
xor ebx, ebx
mov edx, ebx
nop dword [rax]
movzx eax, byte [rbp + rdx + 0xb0]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, 8
jb 0x180060ec0
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180060ef6
lock inc dword [rcx + 8]
mov edi, dword [rsp + 0x60]
mov r13, qword [rax]
mov qword [rbp + 0x40], r13
mov r12, qword [rax + 8]
mov qword [rbp - 0x60], r12
mov qword [rbp + 0x48], r12
bts edi, 0x10
mov dword [rsp + 0x60], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rbx
mov r8d, 0x13
lea rdx, str.colors_primary4_rgb
lea rcx, [rbp + 0xd0]
call fcn.1800596c0
nop
lea r8, [rbp + 0xd0]
mov r9, qword [rbp + 0xe8]
cmp r9, 0xf
mov r10, qword [rbp + 0xd0]
cmova r8, r10
mov rcx, r14
xor edx, edx
mov rsi, qword [rbp + 0xe0]
test rsi, rsi
je 0x180060f94
movabs r11, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, rsi
jb 0x180060f80
mov rax, qword [r13 + 0xa0]
and rax, rcx
add rax, rax
mov rcx, qword [r13 + 0x88]
mov rbx, qword [rcx + rax*8 + 8]
mov r13, qword [r13 + 0x78]
cmp rbx, r13
je 0x180061015
mov r12, qword [rcx + rax*8]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180060fd2
mov rdx, qword [rdx]
lea rcx, [rbp + 0xd0]
cmp r9, 0xf
cmova rcx, r10
cmp rsi, rax
jne 0x180061000
mov r8, rsi
call fcn.180245950
test eax, eax
je 0x18006100b
mov r9, qword [rbp + 0xe8]
mov r10, qword [rbp + 0xd0]
cmp rbx, r12
je 0x180061011
mov rbx, qword [rbx + 8]
jmp 0x180060fc0
mov r12, qword [rbp - 0x60]
jmp 0x180061017
mov r12, qword [rbp - 0x60]
xor ebx, ebx
test rbx, rbx
je 0x180061027
cmp rbx, r13
je 0x180061027
mov rax, qword [rbx + 0x30]
jmp 0x180061029
xor eax, eax
cmp byte [rax + 0x28], 0
je 0x18006104d
movups xmm0, xmmword [0x180343f50]
mov rbx, qword [rbp + 0x38]
mov rsi, qword [rbp - 0x28]
movabs r13, 0x100000001b3
jmp 0x18006114d
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 8
mov ebx, 0xf
mov qword [rbp + 0x38], rbx
movabs rax, 0x4955476b63696c43
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
or edi, 0x40
mov dword [rsp + 0x60], edi
mov rcx, r14
xor edx, edx
movabs r13, 0x100000001b3
nop dword [rax]
movzx eax, byte [rbp + rdx + 0x20]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, 8
jb 0x180061090
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rsi, rax
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1800610ce
lock inc dword [rcx + 8]
mov r12, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x38]
mov edi, dword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov rsi, qword [rsi + 8]
mov qword [rbp - 0x28], rsi
bts edi, 0x12
bts edi, 7
lea rcx, [rax + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
movdqa xmm1, xmmword [0x1802b8660]
movdqu xmmword [rbp + 0x60], xmm1
movsd xmm0, qword [str.colors_primary4]
movsd qword [rbp + 0x50], xmm0
mov eax, dword [0x1802a2500]
mov dword [rbp + 0x58], eax
movzx eax, word [0x1802a2504]
mov word [rbp + 0x5c], ax
movzx eax, byte [0x1802a2506]
mov byte [rbp + 0x5e], al
mov byte [rbp + 0x5f], 0
bts edi, 8
mov dword [rsp + 0x60], edi
lea rdx, [rbp + 0x50]
call fcn.180044ae0
lea rdx, [rax + 0x28]
lea rcx, [rbp + 0x70]
call fcn.180085120
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x40]
movups xmmword [rbp + 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
bt edi, 8
jae 0x180061185
btr edi, 8
mov dword [rsp + 0x60], edi
mov r8, qword [rbp + 0x68]
cmp r8, 0xf
jbe 0x180061185
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.180059850
nop
test dil, dil
jns 0x1800611a0
btr edi, 7
mov dword [rsp + 0x60], edi
test rsi, rsi
je 0x1800611a0
mov rcx, rsi
call fcn.180003820
nop
test dil, 0x40
je 0x1800611c4
and edi, 0xffffffbf
mov dword [rsp + 0x60], edi
cmp rbx, 0xf
jbe 0x1800611c4
mov r8, rbx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.180059850
nop
mov r8, qword [rbp + 0xe8]
cmp r8, 0xf
jbe 0x1800611e5
mov rdx, qword [rbp + 0xd0]
lea rcx, [rbp + 0xd0]
call fcn.180059850
nop
test r12, r12
je 0x1800611f3
mov rcx, r12
call fcn.180003820
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 8
mov qword [rbp + 0x38], 0xf
movabs rax, 0x4955476b63696c43
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], 0
xor ecx, ecx
nop
movzx eax, byte [rbp + rcx + 0x20]
xor r14, rax
imul r14, r13
inc rcx
cmp rcx, 8
jb 0x180061220
mov qword [rbp - 0x80], r14
lea rdx, [rbp - 0x80]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x180061253
lock inc dword [rcx + 8]
mov edi, dword [rsp + 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x40], rcx
mov rbx, qword [rax + 8]
mov qword [rbp + 0x48], rbx
bts edi, 0xe
mov dword [rbp - 0x60], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov r8d, 0x11
lea rdx, str.o_colors_primary4
lea rcx, [rbp + 0x50]
call fcn.1800596c0
mov r8, qword [rbp + 0x68]
cmp r8, 0xf
jbe 0x1800612a6
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.180059850
nop
test rbx, rbx
je 0x1800612b4
mov rcx, rbx
call fcn.180003820
nop
movss xmm15, dword [0x1802b8134]
movss xmm3, dword [0x1802f8f04]
movss xmm2, dword [0x1802f8f00]
movss xmm4, dword [0x1802b827c]
cmp dword [0x180343f48], 0
jne 0x180061378
comiss xmm2, xmm13
jb 0x1800613fc
movaps xmm1, xmm11
mulss xmm1, xmm4
addss xmm1, xmm13
comiss xmm1, xmm2
jb 0x180061378
comiss xmm3, xmm8
jb 0x180061378
movaps xmm0, xmm12
addss xmm0, xmm10
addss xmm0, xmm8
comiss xmm0, xmm3
jb 0x180061378
lea rsi, [0x180304b90]
cmp dword [0x180343f34], 1
jne 0x18006145b
comiss xmm1, xmm2
jb 0x18006145b
movaps xmm0, xmm8
addss xmm0, xmm10
comiss xmm0, xmm3
jb 0x18006145b
mov byte [r15 + rsi + 0x38], 1
lea rdx, [r15 + rsi]
mov rax, qword [rbp - 0x50]
cmp rax, rdx
je 0x18006145b
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18006136b
mov rdx, qword [rdx]
mov rcx, rax
call fcn.1800422d0
jmp 0x18006145b
comiss xmm2, xmm13
jb 0x1800613fc
movaps xmm0, xmm11
mulss xmm0, xmm4
addss xmm0, xmm13
comiss xmm0, xmm2
jb 0x1800613fc
comiss xmm3, xmm8
jb 0x1800613fc
movaps xmm0, xmm12
addss xmm0, xmm10
addss xmm0, xmm8
comiss xmm0, xmm3
jb 0x1800613fc
lea rsi, [0x180304b90]
cmp byte [r15 + rsi + 0x38], 0
jne 0x18006145b
cmp byte [r15 + rsi + 0x39], 0
je 0x1800613d7
lea rcx, [r15 + rsi]
mov rdx, qword [rbp - 0x50]
call fcn.180040620
mov byte [r15 + rsi + 0x39], 0
lea rdx, [r15 + rsi]
mov rax, qword [rbp - 0x50]
cmp rax, rdx
je 0x18006145b
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800613f2
mov rdx, qword [rdx]
mov rcx, rax
call fcn.1800422d0
jmp 0x18006145b
lea rsi, [0x180304b90]
cmp dword [0x180343f34], 1
jne 0x180061435
mov byte [r15 + rsi + 0x38], 0
lea rdx, [r15 + rsi]
mov rax, qword [rbp - 0x50]
cmp rax, rdx
je 0x180061435
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18006142d
mov rdx, qword [rdx]
mov rcx, rax
call fcn.1800422d0
mov dword [rsp + 0x70], 0
movss xmm2, dword [0x1802ed1c0]
mulss xmm2, xmm15
lea rcx, [r15 + 0x48]
add rcx, rsi
lea rdx, [rsp + 0x70]
call fcn.18008d090
movsxd r13, dword [rbp - 0x70]
imul rcx, r13, 0x68
movss xmm10, dword [rbp + 0x98]
movss xmm11, dword [rbp + 0x94]
movss xmm13, dword [rbp + 0x90]
lea r8, [0x180343f44]
lea rdx, [rbp + 0x70]
cmp byte [rcx + rsi + 0x38], 0
je 0x18006157d
call fcn.18005e370
mov rcx, qword [rax]
xorps xmm0, xmm0
comiss xmm0, dword [rcx + 0x14]
jbe 0x1800614bf
lea r8, [0x180343f44]
lea rdx, [rbp + 0x70]
call fcn.18005e370
mov rcx, qword [rax]
mov dword [rcx + 0x14], 0
movss xmm6, dword [0x1802ed1c0]
mulss xmm6, xmm15
lea r8, [0x180343f44]
lea rdx, [rbp + 0x70]
call fcn.18005e370
mov rcx, qword [rax]
add rcx, 0x14
movaps xmm2, xmm6
lea rdx, [rbp - 0x74]
call fcn.18008d090
movss xmm2, dword [0x1802ed1c0]
mulss xmm2, xmm15
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x68]
call fcn.18008d090
movss xmm0, dword [rbp + 0x10]
movss dword [rbp + 0x90], xmm0
movss xmm1, dword [rbp + 0x14]
movss dword [rbp + 0x94], xmm1
movss xmm0, dword [rbp + 0x18]
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm7
imul rbx, r13, 0x68
movups xmm0, xmmword [rbx + rsi + 0x4c]
movaps xmmword [rbp + 0x10], xmm0
movss xmm3, dword [0x1802ed1c0]
movss xmm8, dword [0x1802b80a0]
mulss xmm3, xmm8
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x70]
call fcn.180084db0
mov dword [rsp + 0x70], 0x43870000
jmp 0x18006163a
movss xmm6, dword [0x1802ed1c0]
movss xmm8, dword [0x1802b80a0]
mulss xmm6, xmm8
mov dword [rsp + 0x70], 0xc2480000
call fcn.18005e370
mov rcx, qword [rax]
add rcx, 0x14
movaps xmm2, xmm6
lea rdx, [rsp + 0x70]
call fcn.18008d090
movss xmm0, dword [rbp - 0x78]
subss xmm0, xmm12
movss dword [rsp + 0x70], xmm0
movss xmm2, dword [0x1802ed1c0]
mulss xmm2, xmm15
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.18008d090
movss dword [rbp + 0x90], xmm13
movss dword [rbp + 0x94], xmm11
movss dword [rbp + 0x98], xmm10
movss dword [rbp + 0x9c], xmm9
imul rbx, r13, 0x68
movups xmm0, xmmword [rbx + rsi + 0x4c]
movaps xmmword [rbp + 0x10], xmm0
movss xmm3, dword [0x1802ed1c0]
mulss xmm3, xmm8
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x70]
call fcn.180084db0
mov dword [rsp + 0x70], 0x42b40000
movups xmm1, xmmword [rax]
movss xmm2, dword [0x1802ed1c0]
lea rax, [0x180304bcc]
imul rcx, r13, 0x68
movups xmmword [rbx + rsi + 0x4c], xmm1
mulss xmm2, xmm15
lea rdx, [rsp + 0x70]
add rcx, rax
call fcn.18008d090
imul rcx, r13, 0x68
mov eax, 1
mov dword [rsp + 0x70], eax
cmp dword [rcx + rsi + 0x44], 0
jne 0x18006167f
mov dword [rcx + rsi + 0x44], eax
imul rcx, r13, 0x68
movss xmm7, dword [rsp + 0x68]
movss dword [rcx + rsi + 0x60], xmm7
xor esi, esi
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movdqa xmm1, xmmword [reloc.OLEAUT32.dll_SysStringLen]
movdqu xmmword [rbp + 0x30], xmm1
mov eax, dword [str.height]
mov dword [rbp + 0x20], eax
movzx eax, word [0x1802a1e88]
mov word [rbp + 0x24], ax
mov byte [rbp + 0x26], sil
mov r8b, 1
lea rdx, [rbp + 0x20]
movss xmm0, dword [0x1802b80b0]
call fcn.180059ab0
movaps xmm14, xmm0
movss dword [rbp - 0x74], xmm0
movss xmm1, dword [rbp - 0x20]
subss xmm1, xmm0
subss xmm1, dword [0x1802b822c]
movss dword [rsp + 0x74], xmm1
movss xmm2, dword [rsp + 0x7c]
movaps xmm12, xmm2
subss xmm12, dword [0x1802b8374]
cmp byte [rsp + 0x78], sil
je 0x180061712
mov byte [0x180343f40], sil
mov r15, qword [rbp - 0x38]
mov rbx, qword [r15]
mov r12, qword [r15 + 8]
mov r14, r13
mov qword [rbp - 0x80], r13
movss xmm9, dword [0x1802b834c]
cmp rbx, r12
je 0x180061aa9
imul r15, r14, 0x68
lea rax, [0x180304b90]
add r15, rax
imul r13, r13, 0x68
imul r14, r14, 0x68
movss xmm14, dword [0x1802b83ac]
movss xmm7, dword [rbp - 0x74]
mov edi, 1
jmp 0x180061776
movss xmm1, dword [rsp + 0x74]
mov rdx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x180061783
mov rdx, qword [r15]
mov r8, qword [rbx + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180061794
mov rcx, qword [rbx]
cmp r8, qword [r15 + 0x10]
jne 0x1800617b3
call fcn.180245950
movss xmm2, dword [rsp + 0x7c]
test eax, eax
je 0x180061a78
movss xmm1, dword [rsp + 0x74]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm0
mulss xmm6, xmm2
addss xmm6, dword [rsp + 0x68]
mulss xmm0, xmm8
subss xmm6, xmm0
addss xmm6, xmm9
test esi, esi
jne 0x18006186e
movss xmm0, dword [rbp - 0x78]
subss xmm0, xmm12
addss xmm0, xmm14
comiss xmm6, xmm0
jbe 0x180061858
movss dword [rbp + 0x90], xmm13
movss dword [rbp + 0x94], xmm11
movss dword [rbp + 0x98], xmm10
movss xmm0, dword [rbp - 0x68]
movss dword [rbp + 0x9c], xmm0
movaps xmm3, xmm7
mulss xmm3, dword [0x1802b827c]
movaps xmm0, xmm1
addss xmm0, dword [rbp - 0x6c]
mov dword [rsp + 0x38], 0xf0
xorps xmm1, xmm1
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm2
lea r8, [rbp + 0x90]
movaps xmm1, xmm6
call fcn.18007f8c0
movss xmm2, dword [rsp + 0x7c]
mov esi, edi
movss xmm6, dword [rsp + 0x68]
addss xmm6, xmm2
subss xmm6, xmm8
addss xmm6, xmm9
lea rax, [0x180304b90]
cmp byte [r14 + rax + 0x38], 0
je 0x180061a8e
movss xmm0, dword [rbp - 0x78]
subss xmm0, xmm12
addss xmm0, xmm14
comiss xmm0, xmm6
ja 0x180061a78
movd xmm8, esi
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm2
addss xmm8, dword [rbp - 0x48]
addss xmm8, xmm9
movss xmm9, dword [rbp - 0x74]
mulss xmm9, dword [0x1802b827c]
movss xmm7, dword [rsp + 0x74]
addss xmm7, dword [rbp - 0x6c]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
dec rcx
movsxd rax, esi
movss xmm0, dword [rbp - 0x68]
mov dword [rsp + 0x38], 0xf0
movaps xmm3, xmm9
movaps xmm1, xmm6
cmp rax, rcx
jne 0x180061975
movss dword [rbp - 0x30], xmm13
movss dword [rbp - 0x2c], xmm11
movss dword [rbp - 0x28], xmm10
movss dword [rbp - 0x24], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm12
lea r8, [rbp - 0x30]
movaps xmm0, xmm7
call fcn.18007f8c0
movss dword [rbp + 0x40], xmm13
movss dword [rbp + 0x44], xmm11
movss dword [rbp + 0x48], xmm10
movss xmm0, dword [rbp - 0x68]
movss dword [rbp + 0x4c], xmm0
mov dword [rsp + 0x38], 0xf0
movss xmm0, dword [rbp - 0x58]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x7c]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm9
lea r8, [rbp + 0x40]
movaps xmm1, xmm6
jmp 0x18006199f
movss dword [rbp + 0x10], xmm13
movss dword [rbp + 0x14], xmm11
movss dword [rbp + 0x18], xmm10
movss dword [rbp + 0x1c], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm2
lea r8, [rbp + 0x10]
movaps xmm0, xmm7
call fcn.18007f8c0
movss xmm0, dword [0x1802f8f00]
comiss xmm0, xmm7
jb 0x180061a62
addss xmm7, xmm9
comiss xmm7, xmm0
jb 0x180061a62
movss xmm0, dword [0x1802f8f04]
comiss xmm0, xmm8
jb 0x180061a62
addss xmm8, dword [rsp + 0x7c]
comiss xmm8, xmm0
jb 0x180061a62
lea rax, [0x180304b90]
cmp dword [0x180343f34], edi
jne 0x180061a32
cmp byte [r14 + rax + 0x38], 0
je 0x180061a32
xor ecx, ecx
mov dword [0x180343f34], ecx
mov byte [r14 + rax + 0x38], cl
mov dword [r14 + rax + 0x48], ecx
mov rax, qword [rbp - 0x50]
cmp rax, rbx
je 0x180061a56
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180061a24
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.1800422d0
jmp 0x180061a56
mov dword [rbp - 0x10], 0x3f800000
movss xmm2, dword [0x1802ed1c0]
mulss xmm2, xmm15
lea rcx, [r13 + 0x48]
add rcx, rax
lea rdx, [rbp - 0x10]
call fcn.18008d090
lea rax, [0x180304b90]
mov dword [r14 + rax + 0x44], esi
inc esi
movss xmm7, dword [rbp - 0x74]
movss xmm9, dword [0x1802b834c]
movss xmm2, dword [rsp + 0x7c]
add rbx, 0x20
cmp rbx, r12
movss xmm8, dword [0x1802b80a0]
jne 0x180061770
movss xmm14, dword [rbp - 0x74]
movss xmm7, dword [rsp + 0x68]
mov edi, dword [rbp - 0x60]
mov r14, qword [rbp - 0x80]
mov r13d, dword [rbp - 0x70]
mov r15, qword [rbp - 0x38]
movsxd rax, r13d
imul rcx, rax, 0x68
lea r12, [0x180304b90]
movd xmm1, dword [rcx + r12 + 0x44]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm7
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm8
subss xmm1, xmm0
addss xmm1, xmm9
movss dword [rbp - 0x60], xmm1
movsxd rax, r13d
imul rbx, rax, 0x68
movss xmm2, dword [0x1802ed1c0]
mulss xmm2, xmm15
lea rdx, [rbp - 0x60]
lea rcx, [r12 + 0x40]
add rcx, rbx
call fcn.18008d090
movss xmm1, dword [rbx + r12 + 0x40]
movss xmm11, dword [rbp - 0x78]
movss xmm15, dword [0x1802b827c]
movss xmm13, dword [rsp + 0x74]
comiss xmm1, xmm11
jb 0x180061c7f
movaps xmm0, xmm11
addss xmm0, dword [rbp - 0x54]
addss xmm0, dword [rbp - 0x40]
comiss xmm0, xmm1
jb 0x180061c7f
movsxd rdx, r13d
imul rax, rdx, 0x68
movss xmm11, dword [rax + r12 + 0x48]
movaps xmm10, xmm14
mulss xmm10, xmm15
movaps xmm9, xmm13
addss xmm9, dword [rbp - 0x6c]
mov rcx, qword [r15 + 8]
sub rcx, qword [r15]
sar rcx, 5
dec rcx
imul rax, rdx, 0x68
movsxd rax, dword [rax + r12 + 0x44]
movss dword [rbp + 0x1c], xmm11
mov dword [rsp + 0x38], 0xf0
movaps xmm3, xmm10
lea r8, [rbp + 0x10]
cmp rax, rcx
jne 0x180061c34
movss xmm8, dword [rbp + 0xb0]
movss dword [rbp + 0x10], xmm8
movss xmm7, dword [rbp + 0xb4]
movss dword [rbp + 0x14], xmm7
movss xmm6, dword [rbp + 0xb8]
movss dword [rbp + 0x18], xmm6
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm12
movaps xmm0, xmm9
call fcn.18007f8c0
movss dword [rbp + 0x10], xmm8
movss dword [rbp + 0x14], xmm7
movss dword [rbp + 0x18], xmm6
movss dword [rbp + 0x1c], xmm11
mov dword [rsp + 0x38], 0xf0
movss xmm0, dword [rbp - 0x58]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x7c]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm10
lea r8, [rbp + 0x10]
movss xmm1, dword [rbx + r12 + 0x40]
movaps xmm0, xmm9
call fcn.18007f8c0
movss xmm7, dword [rsp + 0x68]
jmp 0x180061c79
movss xmm0, dword [rbp + 0xb0]
movss dword [rbp + 0x10], xmm0
movss xmm2, dword [rbp + 0xb4]
movss dword [rbp + 0x14], xmm2
movss xmm0, dword [rbp + 0xb8]
movss dword [rbp + 0x18], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x7c]
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm9
call fcn.18007f8c0
movss xmm11, dword [rbp - 0x78]
mov rbx, qword [r15]
mov rax, qword [r15 + 8]
mov qword [rbp - 0x40], rax
movss xmm10, dword [0x1802b80a0]
movss xmm12, dword [0x1802b834c]
cmp rbx, rax
je 0x180061ec4
imul r14, r14, 0x68
add r14, r12
imul rax, qword [rbp - 0x80], 0x68
mov qword [rbp - 0x80], rax
movss xmm8, dword [0x1802b82f8]
movss xmm9, dword [0x1802b8330]
nop word [rax + rax]
mov r13, qword [r14 + 0x10]
mov rdx, r14
mov r15, qword [r14 + 0x18]
cmp r15, 0xf
jbe 0x180061ce4
mov rdx, qword [r14]
mov rsi, qword [rbx + 0x10]
mov rcx, rbx
mov r12, qword [rbx + 0x18]
cmp r12, 0xf
jbe 0x180061cf8
mov rcx, qword [rbx]
cmp rsi, r13
jne 0x180061d0d
mov r8, rsi
call fcn.180245950
test eax, eax
je 0x180061ea4
movd xmm0, dword [rsp + 0x70]
cvtdq2ps xmm0, xmm0
movaps xmm6, xmm0
mulss xmm6, dword [rsp + 0x7c]
addss xmm6, xmm7
mulss xmm0, xmm10
subss xmm6, xmm0
addss xmm6, xmm12
comiss xmm11, xmm6
ja 0x180061ea4
mov rdx, r14
cmp r15, 0xf
jbe 0x180061d47
mov rdx, qword [r14]
mov rcx, rbx
cmp r12, 0xf
jbe 0x180061d53
mov rcx, qword [rbx]
cmp rsi, r13
jne 0x180061d64
mov r8, rsi
call fcn.180245950
test eax, eax
je 0x180061d7b
mov rax, qword [rbp - 0x80]
lea r12, [0x180304b90]
cmp byte [rax + r12 + 0x38], 0
je 0x180061ec0
movaps xmm7, xmm14
mulss xmm7, xmm15
mov rdx, rbx
lea rcx, [rbp + 0x70]
call fcn.180059390
mov qword [rsp + 0x20], rbx
mov r9, rax
lea rdx, [rbp + 0x20]
call fcn.18008d610
bts edi, 0xc
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova r9, qword [rbp + 0x20]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
dec rcx
movsxd rsi, dword [rsp + 0x70]
cmp rsi, rcx
jne 0x180061dd6
subss xmm6, xmm8
jmp 0x180061ddb
subss xmm6, xmm9
movaps xmm1, xmm13
addss xmm1, dword [rbp - 0x6c]
movaps xmm0, xmm14
mulss xmm0, xmm10
addss xmm1, xmm0
mov byte [rsp + 0x50], 0
movss dword [rsp + 0x38], xmm14
mov dword [rsp + 0x30], 0
movss xmm0, dword [rbp - 0x54]
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm7
movaps xmm2, xmm6
lea rcx, [rbp + 0x50]
call fcn.1800859f0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x180061e5e
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061e58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062355
call fcn.18020e750
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x180061e9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061e99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006234f
call fcn.18020e750
inc esi
mov dword [rsp + 0x70], esi
add rbx, 0x20
cmp rbx, qword [rbp - 0x40]
je 0x180061eb9
movss xmm7, dword [rsp + 0x68]
jmp 0x180061cd0
lea r12, [0x180304b90]
mov r13d, dword [rbp - 0x70]
movaps xmm14, xmmword [rbp - 0x20]
movaps xmm6, xmm14
mulss xmm6, xmm15
movsxd rax, r13d
imul rcx, rax, 0x68
movups xmm0, xmmword [rcx + r12 + 0x4c]
movaps xmmword [rbp - 0x20], xmm0
mov dword [rsp + 0x38], 0xf0
movss xmm0, dword [rbp - 0x58]
movss dword [rsp + 0x28], xmm0
movss xmm13, dword [rbp - 0x54]
movss dword [rsp + 0x20], xmm13
movaps xmm3, xmm6
lea r8, [rbp - 0x20]
movaps xmm1, xmm11
movss xmm7, dword [rbp - 0x6c]
movaps xmm0, xmm7
call fcn.18007f8c0
mov rdi, qword [rbp - 0x50]
mov rdx, rdi
lea rcx, [rbp + 0x70]
call fcn.180059390
mov qword [rsp + 0x20], rdi
mov r9, rax
lea rdx, [rbp + 0x20]
call fcn.18008d610
nop
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova r9, qword [rbp + 0x20]
movaps xmm1, xmm14
mulss xmm1, xmm10
addss xmm1, xmm7
mov byte [rsp + 0x50], 0
movss dword [rsp + 0x38], xmm14
xor esi, esi
mov dword [rsp + 0x30], esi
movss dword [rsp + 0x28], xmm13
movss dword [rsp + 0x20], xmm6
movaps xmm2, xmm11
lea rcx, [rbp + 0x50]
call fcn.1800859f0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x180061fc0
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061fba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006235b
call fcn.18020e750
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x180062000
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061ffb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006234f
call fcn.18020e750
movaps xmm6, xmm14
mulss xmm6, dword [0x1802b8308]
mov rbx, qword [rbp - 8]
mov rdx, rbx
lea rcx, [rbp + 0x70]
call fcn.180059390
mov qword [rsp + 0x20], rbx
mov r9, rax
lea rdx, [rbp + 0x20]
call fcn.18008d610
nop
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova r9, qword [rbp + 0x20]
movaps xmm1, xmm14
mulss xmm1, dword [0x1802b8290]
addss xmm1, xmm7
mov byte [rsp + 0x50], 0
movss dword [rsp + 0x38], xmm14
mov dword [rsp + 0x30], esi
movss dword [rsp + 0x28], xmm13
movss dword [rsp + 0x20], xmm6
movaps xmm2, xmm11
lea rcx, [rbp + 0x50]
call fcn.1800859f0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1800620b2
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800620ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062361
call fcn.18020e750
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x1800620f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800620ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006234f
call fcn.18020e750
movaps xmm11, xmm13
movss xmm15, dword [0x1802b819c]
mulss xmm11, xmm15
mulss xmm14, dword [0x1802b8278]
addss xmm14, xmm7
movaps xmm0, xmm11
mulss xmm0, dword [0x1802b8254]
subss xmm14, xmm0
mulss xmm13, dword [0x1802b8148]
addss xmm13, dword [rbp - 0x78]
mov dword [rbp - 0x40], 0x73
lea rdx, [rbp - 0x40]
call fcn.180062370
cmp qword [rax], 0
jne 0x180062165
mov dword [rbp - 0x60], 0x73
lea rdx, [rbp - 0x60]
call fcn.180062370
mov rdx, rax
mov ecx, 0x73
call fcn.180089700
cmp byte [0x180343f38], 0
je 0x180062177
addss xmm13, dword [0x180343f3c]
movaps xmm6, xmm14
addss xmm6, xmm11
movaps xmm8, xmm13
addss xmm8, xmm11
movsxd rax, r13d
imul rcx, rax, 0x68
movss xmm10, dword [rcx + r12 + 0x3c]
movaps xmm9, xmm11
mulss xmm9, xmm15
movaps xmm7, xmm9
addss xmm7, xmm14
addss xmm9, xmm13
mov rax, qword [0x180343a38]
mov rcx, qword [rax + 0x4b28]
lea r8, [0x180299d98]
xor edx, edx
mov rcx, qword [rcx]
call fcn.180009c50
mov ecx, dword [rax + 0x20]
mov dword [0x180343bf8], ecx
movaps xmm1, xmm14
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm13
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm6
shufps xmm1, xmm1, 0x27
movss xmm1, xmm8
shufps xmm1, xmm1, 0x39
movdqa xmmword [rbp - 0x20], xmm1
xor r9d, r9d
lea r8, [0x1802a0cc0]
lea rdx, [rbp - 0x20]
mov ecx, 0x73
call fcn.1800734b0
unpcklps xmm7, xmm9
movq rdx, xmm7
movaps xmm0, xmm10
call fcn.18008ada0
cmp byte [0x180343f38], 0
je 0x180062239
subss xmm13, dword [0x180343f3c]
movss xmm1, dword [0x1802b8374]
addss xmm11, xmm1
movsxd rax, r13d
imul rcx, rax, 0x68
cmp byte [rcx + r12 + 0x38], 0
je 0x18006225f
movdqa xmm0, xmmword [0x1802b9590]
jmp 0x180062267
movdqa xmm0, xmmword [0x1802b9500]
movdqa xmmword [rbp - 0x20], xmm0
subss xmm13, xmm12
subss xmm14, xmm1
mov dword [rsp + 0x38], 0xf0
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm11
movss xmm3, dword [0x1802b822c]
lea r8, [rbp - 0x20]
movaps xmm1, xmm13
movaps xmm0, xmm14
call fcn.18007f8c0
movsxd rax, r13d
imul rbx, rax, 0x68
add rbx, r12
cmp rbx, rdi
je 0x1800622cf
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x1800622c4
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.1800422d0
cmp byte [rsp + 0x78], 0
je 0x1800622dd
mov byte [0x180343f40], 1
mov rdx, rbx
mov rcx, qword [rbp]
call fcn.180059390
mov rax, qword [rbp]
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.18020e120
lea r11, [rsp + 0x2a8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1802214b8
nop
call fcn.1802214b8
nop
call fcn.1802214b8
nop
call fcn.1802214b8
int3