Function at 0x180086d00
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor r12d, r12d
lea r14, [0x1803f2500]
cmp byte [0x1803f213d], r12b
jne 0x180086e7d
mov byte [0x1803f213d], 1
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x30], xmm0
movzx ecx, word [0x18013a9c0]
mov word [rsp + 0x38], cx
cmp byte [0x18013a9c1], r12b
je 0x180086dc3
mov byte [rsp + 0x30], 0x43
xor byte [rsp + 0x31], 0x34
xor byte [rsp + 0x32], 0x35
xor byte [rsp + 0x33], 0x36
xor byte [rsp + 0x34], 0x37
xor byte [rsp + 0x35], 0x38
xor byte [rsp + 0x36], 0x39
xor byte [rsp + 0x37], 0x3a
xor byte [rsp + 0x38], 0x3b
xor byte [rsp + 0x39], 0x3c
mov r8, rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x38]
call fcn.18007f310
mov rbx, rax
cmp r14, rax
je 0x180086e74
mov rcx, qword [0x1803f2500]
test rcx, rcx
je 0x180086e49
mov rdx, qword [0x1803f2508]
call fcn.180015360
mov rcx, qword [0x1803f2500]
mov rdx, qword [0x1803f2510]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x180086e32
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180086f05
mov rcx, r8
call fcn.1800fed90
xorps xmm0, xmm0
movdqu xmmword [0x1803f2500], xmm0
mov qword [0x1803f2510], r12
mov rax, qword [rbx]
mov qword [0x1803f2500], rax
mov rax, qword [rbx + 8]
mov qword [0x1803f2508], rax
mov rax, qword [rbx + 0x10]
mov qword [0x1803f2510], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
lea rcx, [rbp - 0x38]
call fcn.180014b10
movabs r13, 0x4924924924924925
cmp byte [0x1803f20f3], r12b
je 0x180086fd5
mov byte [0x1803f20f3], r12b
mov rbx, qword [0x1803f73d8]
add rbx, 0x7e47990
je 0x180086fd5
mov rbx, qword [rbx]
test rbx, rbx
je 0x180086fd5
mov r11d, r12d
mov r9, qword [0x1803f21a0]
mov rcx, r9
mov r8, qword [0x1803f2198]
sub rcx, r8
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180086fe3
mov r10, r12
nop
movsxd rax, dword [r10 + r8 + 0x20]
add rax, 0x53c
add rax, rbx
je 0x180086f0c
movzx eax, word [rax]
jmp 0x180086f0f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov eax, r12d
mov ecx, dword [r10 + r8 + 0x24]
cmp ecx, 1
jne 0x180086f1e
and eax, 7
jmp 0x180086f93
cmp ecx, 2
jne 0x180086f2d
movzx eax, ax
shr eax, 1
and eax, 7
jmp 0x180086f93
cmp ecx, 4
jne 0x180086f3d
movzx eax, ax
shr eax, 2
and eax, 7
jmp 0x180086f93
cmp ecx, 8
jne 0x180086f4d
movzx eax, ax
shr eax, 3
and eax, 7
jmp 0x180086f93
cmp ecx, 0x10
jne 0x180086f5d
movzx eax, ax
shr eax, 4
and eax, 7
jmp 0x180086f93
cmp ecx, 0x20
jne 0x180086f6d
movzx eax, ax
shr eax, 5
and eax, 7
jmp 0x180086f93
cmp ecx, 0x40
jne 0x180086f7d
movzx eax, ax
shr eax, 6
and eax, 7
jmp 0x180086f93
cmp ecx, 0x80
jne 0x180086f90
movzx eax, ax
shr eax, 7
and eax, 7
jmp 0x180086f93
mov eax, r12d
mov dword [r10 + r8 + 0x2c], eax
inc r11d
add r10, 0x38
mov r9, qword [0x1803f21a0]
mov rcx, r9
mov r8, qword [0x1803f2198]
sub rcx, r8
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r11d
cmp rax, rdx
jb 0x180086ef0
jmp 0x180086fe3
mov r9, qword [0x1803f21a0]
mov r8, qword [0x1803f2198]
cmp byte [0x1803f213a], r12b
je 0x18008705d
mov byte [0x1803f213a], r12b
mov r10d, r12d
sub r9, r8
mov rax, r13
imul r9
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18008705d
mov r9, r12
nop dword [rax]
nop word [rax + rax]
mov dword [r9 + r8 + 0x2c], 5
inc r10d
lea r9, [r9 + 0x38]
mov rcx, qword [0x1803f21a0]
mov r8, qword [0x1803f2198]
sub rcx, r8
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r10d
cmp rax, rdx
jb 0x180087020
mov rbx, 0xffffffffffffffff
mov esi, dword [0x180152098]
movdqa xmm8, xmmword [0x18013d190]
cmp byte [0x1803f2139], r12b
je 0x1800879c7
mov byte [0x1803f2139], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
xor r8d, r8d
lea rdx, [0x1801376a1]
lea rcx, [rbp - 0x18]
call fcn.180006f30
nop
mov esi, r12d
mov rcx, qword [0x1803f21a0]
mov r8, qword [0x1803f2198]
sub rcx, r8
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180087283
mov rdi, r12
nop dword [rax + rax]
mov ecx, dword [rdi + r8 + 0x2c]
lea r9, [rbp - 0x23]
test ecx, ecx
jns 0x180087130
neg ecx
nop
dec r9
mov eax, 0xcccccccd
mul ecx
mov r8d, edx
shr r8d, 3
movzx eax, r8b
shl al, 2
lea edx, [rax + r8]
add dl, dl
sub cl, dl
add cl, 0x30
mov byte [r9], cl
mov ecx, r8d
test r8d, r8d
jne 0x1800870f0
dec r9
mov byte [r9], 0x2d
jmp 0x18008715e
dec r9
mov eax, 0xcccccccd
mul ecx
mov r8d, edx
shr r8d, 3
movzx eax, r8b
shl al, 2
lea edx, [rax + r8]
add dl, dl
sub cl, dl
add cl, 0x30
mov byte [r9], cl
mov ecx, r8d
test r8d, r8d
jne 0x180087130
lea r8, [rbp - 0x23]
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.180093c20
nop
mov r8d, 1
lea rdx, [0x18013a888]
lea rcx, [rsp + 0x40]
call fcn.180014b80
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x60]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x18]
call fcn.180014b80
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x18008720f
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087209
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087347
call fcn.1800fed90
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x18008724c
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087247
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008734e
call fcn.1800fed90
inc esi
add rdi, 0x38
mov rcx, qword [0x1803f21a0]
mov r8, qword [0x1803f2198]
sub rcx, r8
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, esi
cmp rax, rdx
jb 0x1800870e0
lea rcx, [rbp + 8]
call fcn.180065590
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
mov qword [rbp - 0x40], rax
lea r15, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova r15, qword [rbp - 0x18]
mov r13, qword [rbp + 0x18]
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, r13
cmp rcx, 7
jb 0x1800881ac
lea r12, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova r12, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
lea r14, [r13 + 7]
mov edi, 0xf
lea rsi, [rbp - 0x38]
cmp r14, rdi
jbe 0x180087392
mov rdi, r14
or rdi, 0xf
cmp rdi, rax
jbe 0x180087355
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800ff064
test rax, rax
je 0x180087472
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x18008738e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x18008736e
xor esi, esi
jmp 0x18008738e
cmp rcx, 0x1000
jb 0x180087386
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800881b2
jmp 0x180087328
call fcn.1800ff064
mov rsi, rax
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], rdi
mov rcx, qword [str.Config_]
mov dword [rsi], ecx
movzx ecx, word [0x18013a894]
mov word [rsi + 4], cx
movzx eax, byte [0x18013a896]
mov byte [rsi + 6], al
lea rcx, [rsi + 7]
mov r8, r13
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r14], 0
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rdx, qword [rbp - 0x38]
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x20], xmm0
movzx eax, word [0x18013a9c0]
mov word [rsp + 0x28], ax
cmp byte [0x18013a9c1], 0
je 0x18008742f
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
mov r9, qword [rbp - 0x40]
mov r8, r15
lea rcx, [rsp + 0x20]
call fcn.18007eea0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x18008747e
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087479
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180087479
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800fed90
movups xmm3, xmmword [0x18013b940]
movups xmmword [rbp - 0x38], xmm3
mov ecx, dword [str.___rI]
mov dword [rbp - 0x28], ecx
movzx eax, word [0x18013b954]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18013b956]
mov byte [rbp - 0x22], al
xor r12d, r12d
mov r8d, r12d
mov esi, dword [0x180152098]
cmp esi, 2
jl 0x1800876c6
movdqa xmm4, xmmword [0x18013d300]
movdqa xmm5, xmmword [str.::::]
movdqa xmm6, xmmword [0x18013d1e0]
movdqa xmm2, xmmword [0x18013d110]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd eax, xmm3
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 0x38], xmm2
movdqa xmm2, xmmword [0x18013d130]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd xmm0, dword [rbp - 0x34]
xorps xmm2, xmm0
movd dword [rbp - 0x34], xmm2
movdqa xmm3, xmmword [0x18013d140]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm6
movd xmm0, dword [rbp - 0x30]
xorps xmm3, xmm0
movd dword [rbp - 0x30], xmm3
movdqa xmm2, xmmword [0x18013d150]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd xmm0, dword [rbp - 0x2c]
xorps xmm2, xmm0
movd dword [rbp - 0x2c], xmm2
movdqa xmm3, xmmword [0x18013d160]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm6
movd xmm0, ecx
xorps xmm3, xmm0
movd dword [rbp - 0x28], xmm3
mov r8d, 0x14
mov eax, r8d
lea r9, [rbp - 0x38]
add r9, rax
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x17
jl 0x1800876d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp - 0x38]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x180087720
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x60]
call fcn.180006f30
nop
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x18]
lea rcx, [rsp + 0x60]
call fcn.180014b80
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x1803f1088]
cmp rdx, 0xf
jbe 0x1800877a7
mov rcx, qword [0x1803f1070]
inc rdx
cmp rdx, 0x1000
jb 0x1800877a2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800877f0
mov rcx, r8
call fcn.1800fed90
movups xmmword [0x1803f1070], xmm6
movups xmmword [0x1803f1080], xmm7
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800877fc
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800877f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800877f7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800fed90
mov dword [0x1803f0994], ebx
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x20], xmm0
movzx ecx, word [0x18013a9c0]
mov word [rsp + 0x28], cx
cmp byte [0x18013a9c1], 0
je 0x180087868
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x38]
call fcn.18007f310
mov rdi, rax
lea r14, [0x1803f2500]
cmp r14, rax
je 0x180087920
mov rcx, qword [0x1803f2500]
test rcx, rcx
je 0x1800878f5
mov rdx, qword [0x1803f2508]
call fcn.180015360
mov rcx, qword [0x1803f2500]
mov rdx, qword [0x1803f2510]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x1800878de
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180087963
mov rcx, r8
call fcn.1800fed90
xorps xmm0, xmm0
movdqu xmmword [0x1803f2500], xmm0
mov qword [0x1803f2510], r12
mov rax, qword [rdi]
mov qword [0x1803f2500], rax
mov rax, qword [rdi + 8]
mov qword [0x1803f2508], rax
mov rax, qword [rdi + 0x10]
mov qword [0x1803f2510], rax
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
lea rcx, [rbp - 0x38]
call fcn.180014b10
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x18008796f
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008796a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008796a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800fed90
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x1800879bd
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800879b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800879b8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800fed90
movabs r13, 0x4924924924924925
cmp byte [0x1803f213b], 0
je 0x180087f3e
mov byte [0x1803f213b], 0
cmp dword [0x1803f0994], 0xffffffff
jle 0x180087f3e
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
mov r8, rax
movsxd rdx, dword [0x1803f0994]
shl rdx, 5
add rdx, qword [0x1803f2500]
cmp qword [rdx + 0x18], 0xf
jbe 0x180087a18
mov rdx, qword [rdx]
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x20], xmm0
movzx eax, word [0x18013a9c0]
mov word [rsp + 0x28], ax
cmp byte [0x18013a9c1], 0
je 0x180087a6d
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
lea rcx, [rsp + 0x20]
call fcn.1800803e0
movsxd rdi, dword [0x1803f0994]
shl rdi, 5
add rdi, qword [0x1803f2500]
movups xmm6, xmmword [0x18013b760]
movups xmmword [rbp - 0x38], xmm6
mov edx, dword [0x18013b770]
mov dword [rbp - 0x28], edx
movzx eax, word [0x18013b774]
mov word [rbp - 0x24], ax
cmp byte [0x18013b775], 0
je 0x180087d23
mov r8d, r12d
cmp esi, 2
jl 0x180087cdd
movdqa xmm4, xmmword [0x18013d300]
movdqa xmm5, xmmword [str.::::]
movdqa xmm3, xmmword [0x18013d110]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov ecx, dword [0x18013d1e0]
movd xmm0, ecx
paddb xmm3, xmm0
movd eax, xmm6
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rbp - 0x38], xmm3
movdqa xmm2, xmmword [0x18013d130]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x34]
xorps xmm2, xmm1
movd dword [rbp - 0x34], xmm2
movdqa xmm3, xmmword [0x18013d140]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, dword [rbp - 0x30]
xorps xmm3, xmm1
movd dword [rbp - 0x30], xmm3
movdqa xmm2, xmmword [0x18013d150]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm8
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x2c]
xorps xmm2, xmm1
movd dword [rbp - 0x2c], xmm2
movdqa xmm3, xmmword [0x18013d160]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm8
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, edx
xorps xmm3, xmm1
movd dword [rbp - 0x28], xmm3
mov r8d, 0x14
mov eax, r8d
lea r9, [rbp - 0x38]
add r9, rax
nop word [rax + rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x3a
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x16
jl 0x180087cf0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rbp - 0x38]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180087d40
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x80]
call fcn.180006f30
nop
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x180087d66
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.180014b80
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x1803f1088]
cmp rdx, 0xf
jbe 0x180087dc5
mov rcx, qword [0x1803f1070]
inc rdx
cmp rdx, 0x1000
jb 0x180087dc0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180087e0c
mov rcx, r8
call fcn.1800fed90
movups xmmword [0x1803f1070], xmm6
movups xmmword [0x1803f1080], xmm7
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x180087e18
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180087e13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180087e13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800fed90
mov dword [0x1803f0994], ebx
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x20], xmm0
movzx ecx, word [0x18013a9c0]
mov word [rsp + 0x28], cx
cmp byte [0x18013a9c1], 0
je 0x180087e84
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x38]
call fcn.18007f310
mov rdi, rax
cmp r14, rax
je 0x180087f35
mov rcx, qword [0x1803f2500]
test rcx, rcx
je 0x180087f0a
mov rdx, qword [0x1803f2508]
call fcn.180015360
mov rcx, qword [0x1803f2500]
mov rdx, qword [0x1803f2510]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x180087ef3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180088148
mov rcx, r8
call fcn.1800fed90
xorps xmm0, xmm0
movdqu xmmword [0x1803f2500], xmm0
mov qword [0x1803f2510], r12
mov rax, qword [rdi]
mov qword [0x1803f2500], rax
mov rax, qword [rdi + 8]
mov qword [0x1803f2508], rax
mov rax, qword [rdi + 0x10]
mov qword [0x1803f2510], rax
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
lea rcx, [rbp - 0x38]
call fcn.180014b10
cmp byte [0x1803f2138], 0
je 0x180088170
mov byte [0x1803f2138], 0
lea rdx, [0x1803f1050]
lea rcx, [rsp + 0x40]
call fcn.180014650
mov r9, rax
movsxd rdx, dword [0x1803f0994]
shl rdx, 5
add rdx, qword [0x1803f2500]
cmp qword [rdx + 0x18], 0xf
jbe 0x180087f82
mov rdx, qword [rdx]
movsd xmm0, qword [str.p_FtV_H_]
movsd qword [rsp + 0x20], xmm0
movzx eax, word [0x18013a9c0]
mov word [rsp + 0x28], ax
cmp byte [0x18013a9c1], 0
je 0x180087fd7
mov byte [rsp + 0x20], 0x43
xor byte [rsp + 0x21], 0x34
xor byte [rsp + 0x22], 0x35
xor byte [rsp + 0x23], 0x36
xor byte [rsp + 0x24], 0x37
xor byte [rsp + 0x25], 0x38
xor byte [rsp + 0x26], 0x39
xor byte [rsp + 0x27], 0x3a
xor byte [rsp + 0x28], 0x3b
xor byte [rsp + 0x29], 0x3c
lea rcx, [rsp + 0x20]
call fcn.18007f120
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r12
mov qword [rbp], r12
inc rbx
cmp byte [rax + rbx], 0
jne 0x180087ff0
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.180006f30
nop
cmp qword [rbp - 8], 0
je 0x18008810f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rax
mov r8b, 0x2c
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x38]
call fcn.180065840
nop
mov r14d, r12d
mov r8, qword [0x1803f21a0]
mov rcx, r8
mov r9, qword [0x1803f2198]
sub rcx, r9
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180088105
mov rdi, r12
mov rsi, r12
nop dword [rax]
mov rbx, qword [rbp - 0x38]
add rbx, rsi
cmp qword [rbx + 0x10], 0
je 0x1800880d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r15, rax
cmp qword [rbx + 0x18], 0xf
jbe 0x180088091
mov rbx, qword [rbx]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x40]
je 0x18008815d
cmp dword [r15], 0x22
je 0x18008814f
mov rcx, qword [0x1803f2198]
mov dword [rdi + rcx + 0x2c], eax
mov r8, qword [0x1803f21a0]
mov r9, qword [0x1803f2198]
inc r14d
add rsi, 0x20
add rdi, 0x38
mov rcx, r8
sub rcx, r9
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r14d
cmp rax, rdx
jb 0x180088070
lea rcx, [rbp - 0x38]
call fcn.180014b10
nop
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x180088170
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008816b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18008816b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
call fcn.1800fed90
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1800fed70
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180006ed0
nop
call fcn.180006e30
int3