Function at 0x180068240
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18025a080]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov edi, r8d
mov r13, rdx
mov qword [rsp + 0x58], rdx
mov rbx, rcx
mov qword [rsp + 0x50], rcx
mov rcx, qword [0x180291348]
mov rax, qword [rcx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov r14, qword [rcx + 0x3ec8]
mov qword [rsp + 0x128], r14
cmp byte [r14 + 0xbb], 0
je 0x1800682f3
xor al, al
jmp 0x1800695b8
mov rsi, qword [0x180291348]
call fcn.1800308d0
vmovaps xmm14, xmm0
call fcn.18002c0e0
vmovaps xmm15, xmm0
vxorps xmm6, xmm6, xmm6
test dil, 0x10
je 0x18006831d
vxorps xmm12, xmm12, xmm12
jmp 0x180068325
vaddss xmm12, xmm14, dword [rsi + 0x3848]
vsubss xmm13, xmm15, xmm12
xor edx, edx
mov rcx, rbx
call fcn.18002ffa0
mov qword [rsp + 0x88], rax
xor eax, eax
mov dword [rsi + 0x4750], eax
call fcn.18002bac0
mov rcx, rbx
call fcn.18003ad80
mov eax, dword ds:[rsi + 0x5b00]
mov dword [rsp + 0x84], eax
test eax, eax
jne 0x18006837c
movsxd rcx, dword [r14 + 0xf0]
mov rax, qword [r14 + 0xf8]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [rsi + 0x5b00], ecx
mov dword [rsp + 0x80], edi
test dil, 0x20
je 0x180068395
and edi, 0xff9fffff
or edi, 0x100008
test dil, 8
jne 0x1800683a5
mov edx, edi
mov rcx, r13
call fcn.180069700
test edi, 0x700000
jne 0x1800683ba
mov eax, dword [rsi + 0x5afc]
and eax, 0x700000
or edi, eax
nop word [rax + rax]
test edi, 0x1800000
jne 0x1800683d5
mov eax, dword [rsi + 0x5afc]
and eax, 0x1800000
or edi, eax
test edi, 0x6000000
jne 0x1800683ea
mov eax, dword [rsi + 0x5afc]
and eax, 0x6000000
or edi, eax
test edi, 0x18000000
jne 0x1800683ff
mov eax, dword [rsi + 0x5afc]
and eax, 0x18000000
or edi, eax
mov eax, dword [rsi + 0x5afc]
and eax, 0xe00fffff
or edi, eax
mov dword [rsp + 0x78], edi
mov eax, edi
shr eax, 1
not al
and al, 1
movzx r12d, al
mov dword [rsp + 0x7c], r12d
mov r15d, edi
shr r15d, 0x13
and r15b, 1
lea ecx, [r12 + 3]
mov dword [rsp + 0x44], ecx
vmovss xmm7, dword [r13]
vmovss dword [rsp + 0x138], xmm7
vmovss xmm8, dword [r13 + 4]
vmovss dword [rsp + 0x13c], xmm8
vmovss xmm9, dword [r13 + 8]
vmovss dword [rsp + 0x140], xmm9
vmovss xmm11, dword [0x1800ef4d4]
test al, al
je 0x180068476
vmovss xmm5, dword [r13 + 0xc]
jmp 0x18006847b
vmovaps xmm5, xmm11
vmovss dword [rsp + 0x144], xmm5
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1800684c9
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x13c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
vmovaps xmm2, xmm9
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.18002d4e0
jmp 0x18006852c
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x180068554
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x13c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
vmovaps xmm2, xmm9
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.18002d6e0
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x13c]
lea rdx, [rsp + 0x138]
mov rcx, r13
call fcn.180069ba0
mov ecx, dword [rsp + 0x44]
vmovss xmm7, dword [rsp + 0x138]
vmovss xmm8, dword [rsp + 0x13c]
vmovss xmm9, dword [rsp + 0x140]
vmovss xmm5, dword [rsp + 0x144]
vcmpless xmm0, xmm6, xmm7
vmovss xmm4, dword [0x1800ef4d0]
vmovss xmm3, dword [0x1800f2c08]
vblendvps xmm1, xmm3, xmm4, xmm0
vmovss xmm2, dword [0x1800f2af4]
vmulss xmm0, xmm7, xmm2
vaddss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
mov dword [rsp + 0x150], eax
vcmpless xmm0, xmm6, xmm8
vblendvps xmm1, xmm3, xmm4, xmm0
vmulss xmm0, xmm8, xmm2
vaddss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
mov dword [rsp + 0x154], eax
vcmpless xmm0, xmm6, xmm9
vblendvps xmm1, xmm3, xmm4, xmm0
vmulss xmm0, xmm9, xmm2
vaddss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
mov dword [rsp + 0x158], eax
vcmpless xmm0, xmm6, xmm5
vblendvps xmm1, xmm3, xmm4, xmm0
vmulss xmm0, xmm5, xmm2
vaddss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
mov dword [rsp + 0x15c], eax
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
vmovss xmm7, dword [r14 + 0x100]
vmovss dword [rsp + 0x68], xmm7
vmovss xmm8, dword [r14 + 0x104]
vmovss dword [rsp + 0x48], xmm8
xor r8d, r8d
vmovd xmm1, r8d
vmovd xmm0, dword [rsi + 0x3888]
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm12, xmm2
vmovss dword [rsp + 0x70], xmm0
vaddss xmm0, xmm7, xmm0
vmovss dword [r14 + 0x100], xmm0
test edi, 0x300000
je 0x180068af6
test dil, 0x20
jne 0x180068af6
lea eax, ds:[rcx - 1]
vxorps xmm4, xmm4, xmm4
vcvtsi2ss xmm4, xmm4, eax
vmovss xmm3, dword [rsi + 0x3848]
vmulss xmm0, xmm4, xmm3
vsubss xmm2, xmm13, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, ecx
vdivss xmm2, xmm2, xmm1
vcvttss2si eax, xmm2
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmaxss xmm7, xmm0, xmm11
vaddss xmm1, xmm3, xmm7
vmulss xmm2, xmm1, xmm4
vsubss xmm0, xmm13, xmm2
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmaxss xmm10, xmm1, xmm11
mov r14d, edi
and r14d, 0x1000000
lea rax, str.M:0.000
lea rdx, str.M:000
cmovne rdx, rax
vmovss xmm9, dword [0x1800efa70]
vmovss dword [rsp + 0x20], xmm9
xor r9d, r9d
lea rcx, [rsp + 0x70]
call fcn.18002c320
vcomiss xmm7, dword [rax]
setbe al
test al, al
je 0x1800686f8
xor r8d, r8d
mov r12d, r8d
jmp 0x18006870c
bt edi, 0x15
mov r8d, 0
mov r12d, r8d
setb r12b
inc r12
mov ebx, r8d
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x180068d11
nop dword [rax + rax]
test r14d, r14d
je 0x1800689d1
vmovd xmm1, r8d
movzx eax, r15b
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm6, xmm11, xmm2
vmovss dword [rsp + 0x118], xmm0
mov eax, edi
and eax, 8
mov dword [rsp + 0x120], eax
lea r15, [0x1802435b0]
lea r14, [rsp + 0x138]
shl r12, 5
sub r12, r15
lea rax, str._0.3f
add rax, r12
vmovss xmm8, dword [0x1800ef950]
vmovss xmm9, dword [rsp + 0x118]
mov r12d, dword [rsp + 0x120]
xor r13b, r13b
mov rdi, rax
test ebx, ebx
je 0x1800687a9
vmovss xmm1, dword [rsi + 0x3848]
vmovaps xmm0, xmm6
call fcn.18003e150
lea eax, [rbx + 1]
mov ebx, eax
vmovd xmm1, eax
vmovd xmm0, dword [rsp + 0x44]
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm10, xmm7, xmm2
call fcn.18003f420
mov rax, qword [rdi + r15]
vmovss dword [rsp + 0x120], xmm9
vmovss dword [rsp + 0x118], xmm6
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
vmovaps xmm3, xmm8
mov r8, r14
mov edx, 8
mov rcx, qword [r15]
call fcn.18006ce00
or r13b, al
or byte [rsp + 0x41], r13b
test r12d, r12d
jne 0x180068837
lea edx, [r12 + 1]
lea rcx, str.context
call fcn.18003a460
add r14, 4
add r15, 8
cmp ebx, dword [rsp + 0x44]
jl 0x180068794
mov byte [rsp + 0x40], r13b
vmovss xmm7, dword [rsp + 0x68]
vmovss xmm8, dword [rsp + 0x48]
mov edi, dword [rsp + 0x78]
mov r13, qword [rsp + 0x58]
xor r14d, r14d
vmovss xmm9, dword [0x1800efa70]
mov rbx, qword [rsp + 0x50]
mov ecx, dword [0x180291d08]
mov rax, qword gs:[0x58]
mov edx, 0x28
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180291500], ecx
jg 0x180069621
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x90], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0xa0], xmm1
mov r12, 0xffffffffffffffff
mov r8, r12
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1800688c0
mov rdx, rbx
lea rcx, [rsp + 0x90]
call fcn.180005d80
lea r8, ds:[rsp + 0x90]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xa8]
cmp r10, 0xf
cmova r8, r9
movabs r15, 0xcbf29ce484222325
mov rcx, r15
mov rdx, r14
movabs r11, 0x100000001b3
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x180068945
nop word [rax + rax]
movzx eax, byte ds:[rdx + r8]
xor rcx, rax
imul rcx, r11
inc rdx
cmp rdx, rbx
jb 0x180068930
and rcx, qword [0x1802914f0]
add rcx, rcx
mov rax, qword [0x1802914d8]
mov r14, qword [rax + rcx*8 + 8]
cmp r14, qword [0x1802914c8]
je 0x180068d2f
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x58], rax
lea rdx, ds:[r14 + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180068985
mov rdx, qword [rdx]
lea rcx, [rsp + 0x90]
cmp r10, 0xf
cmova rcx, r9
cmp rbx, rax
jne 0x1800689bd
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180068d34
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xa8]
nop dword [rax]
cmp r14, qword [rsp + 0x58]
je 0x180068d2f
mov r14, qword [r14 + 8]
jmp 0x180068971
mov qword ds:[rsp + 0x120], rax
test rax, rax
je 0x180068d11
mov r14, r8
mov ebx, 0xff
test r15b, r15b
cmovne ebx, r8d
mov eax, edi
and eax, 8
mov dword [rsp + 0x70], eax
shl r12, 5
lea rax, [0x1802435d0]
add r12, rax
lea r15, [0x1802435b0]
mov r13d, r8d
mov rdi, qword [rsp + 0x120]
mov dword [rsp + 0x48], r13d
test r13d, r13d
je 0x180068a3c
vmovss xmm1, dword [rsi + 0x3848]
vmovaps xmm0, xmm6
call fcn.18003e150
lea eax, [r13 + 1]
mov r13d, eax
vmovd xmm1, eax
vmovd xmm0, dword [rsp + 0x44]
vpcmpgtd xmm2, xmm0, xmm1
vblendvps xmm0, xmm10, xmm7, xmm2
call fcn.18003f420
mov rcx, qword [r12 + r14*8]
mov dword [rsp + 0x120], ebx
xor edx, edx
mov dword [rsp + 0x118], edx
mov eax, dword [rsp + 0x48]
lea r8, [rsp + 0x150]
lea r8, [r8 + rax*4]
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x120]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
vmovaps xmm3, xmm11
mov edx, 4
mov rcx, qword [r15 + r14*8]
call fcn.18006ce00
or byte ds:[rsp + 0x40], al
cmp dword [rsp + 0x70], 0
jne 0x180068ad3
mov edx, 1
lea rcx, str.context
call fcn.18003a460
inc r14
cmp r14, rdi
jl 0x180068a21
vmovss xmm7, dword [rsp + 0x68]
mov edi, dword [rsp + 0x78]
mov r13, qword [rsp + 0x58]
xor r14d, r14d
jmp 0x18006886f
bt edi, 0x16
jae 0x180068d1f
test dil, 0x20
jne 0x180068d1f
mov ebx, 0xff
test r12b, r12b
je 0x180068b9d
mov edx, dword [rsp + 0x15c]
test edx, edx
jns 0x180068b2e
mov edx, r8d
jmp 0x180068b33
cmp edx, ebx
cmovg edx, ebx
mov ecx, dword [rsp + 0x158]
test ecx, ecx
jns 0x180068b43
mov ecx, r8d
jmp 0x180068b48
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x154]
test eax, eax
jns 0x180068b58
mov eax, r8d
jmp 0x180068b5d
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x150]
test r9d, r9d
jns 0x180068b6f
mov r9d, r8d
jmp 0x180068b76
cmp r9d, ebx
cmovg r9d, ebx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea r8, [0x1800f7428]
mov edx, 0x40
lea rcx, [rsp + 0x170]
call fcn.180031b60
jmp 0x180068c05
mov ecx, dword [rsp + 0x158]
test ecx, ecx
jns 0x180068bad
mov ecx, r8d
jmp 0x180068bb2
cmp ecx, ebx
cmovg ecx, ebx
mov eax, dword [rsp + 0x154]
test eax, eax
jns 0x180068bc2
mov eax, r8d
jmp 0x180068bc7
cmp eax, ebx
cmovg eax, ebx
mov r9d, dword [rsp + 0x150]
test r9d, r9d
jns 0x180068bd9
mov r9d, r8d
jmp 0x180068be0
cmp r9d, ebx
cmovg r9d, ebx
mov dword ss:[rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea r8, [0x1800f7440]
mov edx, 0x40
lea rcx, [rsp + 0x170]
call fcn.180031b60
vmovaps xmm0, xmm13
call fcn.18003f420
vmovss dword [rsp + 0x58], xmm6
vmovss dword [rsp + 0x5c], xmm6
xor r14d, r14d
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 6
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 0x40]
lea r8, [rsp + 0x170]
xor edx, edx
lea rcx, str.Text
call fcn.18006d5e0
test al, al
je 0x180068cf1
mov byte [rsp + 0x40], 1
lea rcx, [rsp + 0x170]
nop dword [rax]
movzx eax, byte [rcx]
cmp al, 0x23
je 0x180068c7f
cmp al, 0x20
je 0x180068c7f
cmp al, 9
jne 0x180068c84
inc rcx
jmp 0x180068c70
mov qword [rsp + 0x154], r14
mov dword [rsp + 0x150], r14d
mov dword [rsp + 0x15c], ebx
lea r9, [rsp + 0x154]
lea r8, [rsp + 0x150]
test r12b, r12b
je 0x180068cd8
lea rax, [rsp + 0x15c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 0x20], rax
lea rdx, str._02X_02X_02X_02X
call fcn.180045180
jmp 0x180068cf1
lea rax, [rsp + 0x158]
mov qword [rsp + 0x20], rax
lea rdx, str._02X_02X_02X
call fcn.180045180
test dil, 8
jne 0x180068867
mov edx, 1
lea rcx, str.context
call fcn.18003a460
jmp 0x180068867
vmovss xmm7, dword [rsp + 0x68]
xor r14d, r14d
jmp 0x18006886f
vmovss xmm9, dword [0x1800efa70]
xor r14d, r14d
jmp 0x180068874
xor eax, eax
mov r14d, eax
mov rax, qword [0x1802914c8]
mov rbx, rax
test r14, r14
cmovne rbx, r14
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0xf
jbe 0x180068d96
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068d8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180068f86
call fcn.180080600
mov rax, qword [0x1802914c8]
cmp rbx, rax
jne 0x180068f92
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xd0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0xe0], xmm1
mov r8, r12
mov rbx, qword [rsp + 0x50]
inc r8
cmp byte [rbx + r8], 0
jne 0x180068dc1
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.180005d80
nop
vmovups ymm1, ymmword [rsp + 0xd0]
vmovups ymmword [rsp + 0xf0], ymm1
vmovdqu xmm0, xmmword [0x1800ef4b0]
vmovdqu xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0xd0], 0
vmovss dword [rsp + 0x110], xmm6
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x58]
lea rcx, [0x1802914c0]
vzeroupper
call fcn.180065840
nop
lea rcx, [rsp + 0xf0]
call fcn.180006ef0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xb0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0xc0], xmm1
inc r12
cmp byte [rbx + r12], 0
jne 0x180068e55
mov r8, r12
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.180005d80
lea rdx, [rsp + 0xb0]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc8]
cmp r9, 0xf
cmova rdx, r8
xor r10d, r10d
mov ecx, r10d
mov r12, qword [rsp + 0xc0]
test r12, r12
je 0x180068ec5
movabs r11, 0x100000001b3
nop
movzx eax, byte ds:[rcx + rdx]
xor r15, rax
imul r15, r11
inc rcx
cmp rcx, r12
jb 0x180068eb0
and r15, qword [0x1802914f0]
add r15, r15
mov rax, qword [0x1802914d8]
mov r14, qword [rax + r15*8 + 8]
mov rbx, qword [0x1802914c8]
cmp r14, rbx
jne 0x180068eec
mov r14, r10
jmp 0x180068f44
mov r15, qword [rax + r15*8]
lea rdx, [r14 + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180068f02
mov rdx, qword [rdx]
lea rcx, [rsp + 0xb0]
cmp r9, 0xf
cmova rcx, r8
cmp r12, rax
jne 0x180068f34
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
nop
test eax, eax
je 0x180068f44
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc8]
cmp r14, r15
je 0x180068f3f
mov r14, qword [r14 + 8]
jmp 0x180068ef0
xor eax, eax
mov r14d, eax
test r14, r14
cmovne rbx, r14
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0xf
jbe 0x180068f92
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180068f8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180068f8d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180080600
xor edx, edx
lea rcx, str.picker
call fcn.1800343c0
movzx eax, al
xor ecx, ecx
vmovd xmm1, ecx
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm0, xmm11, xmm6, xmm2
vmovss dword [rsp + 0x70], xmm0
vsubss xmm0, xmm0, dword [rbx + 0x30]
vmulss xmm0, xmm0, dword [0x1800f2aa8]
vaddss xmm1, xmm0, dword [rbx + 0x30]
vmovss dword [rbx + 0x30], xmm1
mov r14d, ecx
test dil, 0x10
jne 0x180069295
test dil, 0x20
jne 0x180069002
cmp dword [rsi + 0x3888], ecx
je 0x180069002
vaddss xmm0, xmm13, dword [rsi + 0x3848]
jmp 0x180069006
vmovaps xmm0, xmm6
vaddss xmm0, xmm7, xmm0
mov r15, qword [rsp + 0x128]
vmovss dword [r15 + 0x100], xmm0
vmovss dword [r15 + 0x104], xmm8
mov r12d, dword [rsp + 0x7c]
test r12b, r12b
je 0x180069036
vmovss xmm2, dword [r13 + 0xc]
jmp 0x18006903b
vmovaps xmm2, xmm11
vmovss xmm0, dword ds:[r13]
vmovss dword [rsp + 0x128], xmm0
vmovss xmm1, dword [r13 + 4]
vmovss dword [rsp + 0x12c], xmm1
vmovss xmm0, dword [r13 + 8]
vmovss dword [rsp + 0x130], xmm0
vmovss dword [rsp + 0x134], xmm2
vmovss xmm1, dword [0x1800f0f48]
vmovss dword [rsp + 0x58], xmm1
vmovss dword [rsp + 0x5c], xmm1
lea r9, [rsp + 0x58]
mov r8d, edi
lea rdx, [rsp + 0x128]
lea rcx, str.ColorButton
call fcn.180067c60
test al, al
je 0x18006910f
test dil, 4
jne 0x18006910f
vmovups xmm0, xmmword [rsp + 0x128]
vmovups xmmword [rsi + 0x5b14], xmm0
xor edx, edx
lea rcx, str.picker
call fcn.18003a0c0
vmovss dword [rsp + 0x58], xmm6
vmovss dword [rsp + 0x5c], xmm6
vmovss xmm0, dword [rsi + 0x4770]
vmovss dword [rsp + 0x70], xmm0
vmovss xmm1, dword [rsi + 0x477c]
vaddss xmm2, xmm1, dword [rsi + 0x3844]
vmovss dword [rsp + 0x74], xmm2
lea r8, [rsp + 0x58]
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.18003f460
test dil, 8
jne 0x180069126
mov edx, 1
lea rcx, str.context
call fcn.18003a460
vmovss xmm0, dword [0x1800ef9e4]
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x5c], xmm0
lea rdx, [rsp + 0x58]
mov ecx, 2
call fcn.18003b0a0
vmovss xmm1, dword [0x1800ef9c0]
mov ecx, 9
call fcn.18003b130
vmovss xmm1, dword [rbx + 0x30]
xor ecx, ecx
call fcn.18003b130
vmovaps xmm1, xmm11
mov ecx, 2
call fcn.180030780
mov edx, eax
mov ecx, 4
call fcn.18003afd0
vmovups xmm0, xmmword [0x1800f7700]
vmovups xmmword ds:[rsp + 0x58], xmm0
lea rdx, [rsp + 0x58]
mov ecx, 5
call fcn.18003af70
xor edx, edx
lea rcx, str.picker
call fcn.18002bc00
mov rbx, qword ds:[rsp + 0x50]
test al, al
je 0x18006927f
mov rax, qword [rsi + 0x3ec8]
cmp word [rax + 0xc2], 1
jne 0x18006927a
mov r14, rax
mov rax, qword [rsp + 0x88]
cmp rbx, rax
je 0x18006923d
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.180073e80
mov rcx, qword [0x180291348]
mov rax, qword ds:[rcx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ec8]
cmp byte [rax + 0xbb], 0
jne 0x18006923d
vmovss dword [rsp + 0x58], xmm6
vmovss dword [rsp + 0x5c], xmm6
vmovaps xmm1, xmm9
lea rcx, [rsp + 0x58]
call fcn.180034940
vmulss xmm0, xmm14, dword [0x1800f76a4]
call fcn.18003f420
lea r9, [rsi + 0x5b14]
mov r8d, dword [rsp + 0x80]
and r8d, 0x1f890002
or r8d, 0x7401a0
mov rdx, r13
lea rcx, [0x1800f2b90]
call fcn.180069c80
or byte [rsp + 0x40], al
call fcn.18002f450
mov ecx, 2
call fcn.18003a820
mov ecx, 3
call fcn.18003a8a0
jmp 0x1800692a7
mov rbx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x128]
mov r12d, dword [rsp + 0x7c]
cmp rbx, qword [rsp + 0x88]
je 0x1800692f5
test dil, dil
js 0x1800692f5
vmovss xmm1, dword [rsi + 0x3848]
vmovaps xmm0, xmm6
call fcn.18003e150
test dil, 0x20
jne 0x1800692d5
vaddss xmm12, xmm15, dword [rsi + 0x3848]
vaddss xmm0, xmm12, xmm7
vmovss dword [r15 + 0x100], xmm0
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
mov rcx, rbx
call fcn.180073e80
movzx r15d, byte ds:[rsp + 0x40]
test r15b, r15b
je 0x18006949e
test r14, r14
jne 0x18006949e
cmp byte [rsp + 0x41], r14b
jne 0x180069333
vcvtdq2ps xmm1, xmmword [rsp + 0x150]
vmulps xmm1, xmm1, xmmword [0x1800f76f0]
vmovups xmmword [rsp + 0x138], xmm1
mov eax, edi
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x18006940d
vmovss xmm0, dword [rsp + 0x138]
vmovss dword [rsi + 0x5b08], xmm0
vmovss xmm1, dword [rsp + 0x13c]
vmovss dword [rsi + 0x5b0c], xmm1
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x13c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x140]
vmovss xmm1, dword [rsp + 0x13c]
vmovss xmm0, dword [rsp + 0x138]
call fcn.18002d4e0
mov eax, dword [rsi + 0x5b00]
mov dword [rsi + 0x5b04], eax
vmovss xmm0, dword [rsp + 0x138]
vmovss dword [rsp + 0x128], xmm0
vmovss xmm1, dword [rsp + 0x13c]
vmovss dword [rsp + 0x12c], xmm1
vmovss xmm0, dword [rsp + 0x140]
vmovss dword [rsp + 0x130], xmm0
vmovss dword [rsp + 0x134], xmm6
lea rcx, [rsp + 0x128]
call fcn.18002d420
mov dword [rsi + 0x5b10], eax
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x18006945d
lea rax, [rsp + 0x140]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x13c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x140]
vmovss xmm1, dword [rsp + 0x13c]
vmovss xmm0, dword [rsp + 0x138]
call fcn.18002d6e0
vmovss xmm0, dword [rsp + 0x138]
vmovss dword [r13], xmm0
vmovss xmm1, dword [rsp + 0x13c]
vmovss dword [r13 + 4], xmm1
vmovss xmm0, dword [rsp + 0x140]
vmovss dword [r13 + 8], xmm0
test r12b, r12b
je 0x18006949e
vmovss xmm0, dword [rsp + 0x144]
vmovss dword [r13 + 0xc], xmm0
cmp dword [rsp + 0x84], 0
jne 0x1800694b0
xor eax, eax
mov dword [rsi + 0x5b00], eax
call fcn.18003a760
call fcn.18002f0e0
test byte [rsi + 0x476c], 1
je 0x18006957b
bt edi, 9
jb 0x18006957b
call fcn.18002b9c0
test al, al
je 0x18006957b
xor bl, bl
xor edx, edx
lea rcx, str._COL3F
call fcn.180027a40
test rax, rax
je 0x18006950d
mov rax, qword [rax]
vmovsd xmm0, qword [rax]
vmovsd qword [r13], xmm0
mov eax, dword [rax + 8]
mov dword [r13 + 8], eax
mov bl, 1
movzx r15d, bl
xor edx, edx
lea rcx, str._COL4F
call fcn.180027a40
nop dword [rax + rax]
test rax, rax
je 0x18006953e
mov r8d, dword [rsp + 0x44]
shl r8, 2
mov rdx, qword [rax]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r15b, 1
jmp 0x180069544
nop
test bl, bl
je 0x180069576
bt edi, 0x1c
jae 0x180069576
lea rax, [r13 + 8]
lea rcx, [r13 + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r13
vmovss xmm2, dword [r13 + 8]
vmovss xmm1, dword [r13 + 4]
vmovss xmm0, dword [r13]
call fcn.18002d6e0
call fcn.18002ecc0
nop dword [rax + rax]
test r14, r14
je 0x18006959e
mov ecx, dword [rsi + 0x3f28]
test ecx, ecx
je 0x18006959e
cmp qword [rsi + 0x3f48], r14
jne 0x18006959e
mov dword [rsi + 0x4764], ecx
nop
test r15b, r15b
je 0x1800695b4
mov ecx, dword [rsi + 0x4764]
test ecx, ecx
je 0x1800695b4
call fcn.180035120
movzx eax, r15b
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.180080a90
lea r11, [rsp + 0x260]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rcx, [0x180291500]
call fcn.180080450
cmp dword [0x180291500], 0xffffffff
jne 0x18006889b
vpxor xmm0, xmm0, xmm0
vmovups ymmword [0x1802914c0], ymm0
vmovups ymmword [0x1802914e0], ymm0
vmovss dword [0x1802914c0], xmm6
mov qword [0x1802914c8], r14
mov qword [0x1802914d0], r14
mov ecx, 0x38
vzeroupper
call fcn.1800805c4
mov qword ds:[rax], rax
mov qword [rax + 8], rax
mov qword [0x1802914c8], rax
mov qword [0x1802914d8], r14
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [0x1802914e0], xmm0
mov qword [0x1802914f0], 7
mov qword [0x1802914f8], 8
vmovss dword [0x1802914c0], xmm11
mov r8, rax
mov edx, 0x10
lea rcx, [0x1802914d8]
call fcn.18000f440
nop
lea rcx, [0x1800ec1a0]
call fcn.180080960
nop
lea rcx, [0x180291500]
call fcn.1800803e4
nop
jmp 0x18006889b