Function at 0x180021340
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x120], xmm9
movdqa xmmword [rbp + 0x110], xmm8
movdqa xmmword [rbp + 0x100], xmm7
movdqa xmmword [rbp + 0xf0], xmm6
mov qword [rbp + 0xe8], 0xfffffffffffffffe
mov rsi, rdx
mov rbx, rcx
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmmword [rbp - 0x20], xmm0
lea rax, [rdx + 8]
mov qword [rbp - 0x50], rax
lea rax, [rcx + 0x48]
mov qword [rbp + 0xe0], rax
lea rax, [rcx + 0x98]
mov qword [rbp - 0x48], rax
lea r14, [0x18003a8bc]
mov r12, rbp
lea r13, [rbp + 0x60]
movabs r15, 0x3800000000000000
xor edi, edi
nop word cs:[rax + rax]
test dil, 1
jne 0x180021618
mov eax, dword [rbx + 0x40]
dec eax
cmp eax, 0xe
ja case.0x1800213ff.10
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
mov byte [rbp + 0x60], 2
mov rcx, rsi
mov rdx, r13
call fcn.18002c1d0
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x18002155d
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180021569
mov byte [rbp + 0x60], 1
mov rcx, rsi
mov rdx, r13
call fcn.18002c1d0
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x180021457
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180021463
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180025650
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x18002161f
mov rax, qword [rsi + 0x10]
mov rax, qword [rax - 8]
mov rcx, qword [rax + 8]
mov rdx, r12
mov r8, qword [rbp - 0x48]
call fcn.180028360
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180021b04
mov rax, qword [rbp - 8]
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + r15]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp - 0x20]
and eax, 0x1f
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xa8], rax
mov r8d, 1
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0xa0]
call fcn.1800131e0
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + r15]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp - 0x20]
and eax, 0x1f
lea rcx, [rax + 1]
mov r8d, ecx
shr r8d, 5
lea r8, [rdx + r8*4]
and ecx, 0x1f
mov qword [rbp], r8
mov qword [rbp + 8], rcx
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rax
mov rcx, r13
mov rdx, r12
xor r8d, r8d
call fcn.180013610
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
jmp 0x1800213e0
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180025650
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x180021628
mov rax, qword [rbp - 8]
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + r15]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp - 0x20]
and eax, 0x1f
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xa8], rax
mov r8d, 1
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0xa0]
call fcn.1800131e0
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + r15]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp - 0x20]
and eax, 0x1f
lea rcx, [rax + 1]
mov r8d, ecx
shr r8d, 5
lea r8, [rdx + r8*4]
and ecx, 0x1f
mov qword [rbp], r8
mov qword [rbp + 8], rcx
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rax
mov rcx, r13
mov rdx, r12
mov r8b, 1
call fcn.180013610
jmp 0x1800213e0
xor edi, edi
jmp 0x1800216d9
cmp eax, 0xb
jne 0x180021a57
add qword [rsi + 0x10], 0xfffffffffffffff8
jmp 0x1800216d9
mov rax, qword [rbx + 0xc0]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18002d0c0
jmp 0x1800216d9
movq xmm6, qword [rbx + 0xd0]
movq qword [rbp], xmm6
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
test ax, ax
jg 0x1800220c8
movq qword [rbp], xmm6
mov rcx, rsi
mov rdx, r12
call fcn.18002c600
jmp 0x1800216d9
mov rax, qword [rbx + 0xc8]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18002d980
jmp 0x1800216d9
mov byte [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18002c9b0
jmp 0x1800216d9
mov byte [rbp], 1
mov rcx, rsi
mov rdx, r12
call fcn.18002c9b0
jmp 0x1800216d9
mov rcx, rsi
mov rdx, qword [rbp - 0x48]
call fcn.18002d460
jmp 0x1800216d9
mov qword [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18002cd50
mov rax, qword [rbp - 8]
test rax, rax
je 0x180021ced
mov ecx, eax
and ecx, 0x1f
lea rdx, [rcx - 1]
shr rdx, 5
sub rcx, 1
mov r8, 0xffffffffffffffff
cmovb rdx, r8
mov r8, rax
shr r8, 5
lea r9, [r8 + r15]
test rax, rax
cmovns r9, r8
shl r9, 2
add r9, qword [rbp - 0x20]
mov eax, dword [r9 + rdx*4]
bt eax, ecx
jae 0x18002175a
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x1800217df
cmp eax, 0xd
jne 0x180021cf2
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
jmp 0x1800213e0
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 0xb
je 0x1800217df
cmp eax, 0xd
jne 0x180021e27
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x180021eb3
mov rax, qword [rsi + 0x10]
mov rax, qword [rax - 8]
mov rcx, qword [rax + 8]
mov rdx, r12
mov r8, qword [rbp - 0x48]
call fcn.180028360
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180021fa8
mov rcx, qword [rbp + 0xe0]
call fcn.180018c40
mov dword [rbx + 0x40], eax
jmp 0x1800213e0
add qword [rsi + 0x10], 0xfffffffffffffff8
mov rax, qword [rbp - 8]
mov ecx, eax
and ecx, 0x1f
lea rdx, [rcx - 1]
shr rdx, 5
sub rcx, 1
mov r8, 0xffffffffffffffff
cmovb rdx, r8
mov r8, rax
shr r8, 5
lea r9, [r8 + r15]
test rax, rax
cmovns r9, r8
shl r9, 2
add r9, qword [rbp - 0x20]
lea rax, [r9 + rdx*4]
and ecx, 0x1f
mov qword [rbp], rax
mov qword [rbp + 8], rcx
lea rcx, [rbp - 0x20]
mov rdx, r13
mov r8, r12
call fcn.180029b30
mov dil, 1
jmp 0x1800213e0
movabs rcx, 0xcc6caab865318259
add rcx, qword [0x180044a70]
call fcn.180030810
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a90]
lea rcx, [rbp + 0xa0]
call fcn.180002210
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
xor r8d, r8d
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x40]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
jmp 0x180021c54
lea rdi, [rbx + 0x68]
cmp qword [rbx + 0x68], 1
jne 0x180021bb1
movabs rcx, 0xcc6caab86531835a
add rcx, qword [0x180044a70]
call fcn.180030ca0
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a98]
lea rcx, [rbp + 0x60]
call fcn.180002210
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0xd0], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rbp + 0xc0], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0xc0]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov rdx, qword [rdi]
lea r8, [rbp + 0xa0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
mov esi, eax
lea rcx, [rbp + 0xa0]
call fcn.1800015b0
mov rcx, rbp
call fcn.1800211a0
lea rcx, [rbp + 0x60]
jmp 0x180021c7a
movabs rcx, 0xcc6caab865318259
add rcx, qword [0x180044a70]
call fcn.180030810
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a90]
lea rcx, [rbp + 0xa0]
call fcn.180002210
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x40]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
jmp 0x180021c54
movabs rcx, 0xcc6caab865318294
add rcx, qword [0x180044a70]
call fcn.1800308d0
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a78]
lea rcx, [rbp + 0xa0]
call fcn.180002210
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 4
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x40]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
jmp 0x180021c54
movabs rcx, 0xcc6caab8653182d0
add rcx, qword [0x180044a70]
call fcn.180030940
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a80]
lea rcx, [rbp + 0xa0]
call fcn.180002210
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0xc
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x40]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
jmp 0x180021c54
movabs rcx, 0xcc6caab865318259
add rcx, qword [0x180044a70]
call fcn.180030810
movabs rdx, 0xcc6caab865315f31
add rdx, qword [0x180044a90]
lea rcx, [rbp + 0xa0]
call fcn.180002210
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.1800201a0
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x50], rax
movdqu xmm0, xmmword [rdi]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x40]
lea r9, [rbp + 0x60]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov rdx, qword [rdi]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180023c20
mov esi, eax
lea rcx, [rbp + 0xc0]
call fcn.1800015b0
mov rcx, rbp
call fcn.1800211a0
lea rcx, [rbp + 0x60]
call fcn.1800015b0
lea rcx, [rbp + 0xa0]
call fcn.1800015b0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180021cb9
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180021cb4
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180022828
add rdx, 0x27
mov rcx, rax
call fcn.1800330b4
mov eax, esi
movaps xmm6, xmmword [rbp + 0xf0]
movaps xmm7, xmmword [rbp + 0x100]
movaps xmm8, xmmword [rbp + 0x110]
movaps xmm9, xmmword [rbp + 0x120]
add rsp, 0x1b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov sil, 1
jmp 0x180021c7f
cmp byte [0x18004681a], 0
jne 0x180021db1
mov rdx, qword [0x180044a70]
movabs rax, 0xcc6caab8653183f5
add rax, rdx
movabs rcx, 0xcc6caab865318413
add rcx, rdx
xor edx, edx
lea r8, [0x180046814]
nop dword [rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r11d, r10d
not r11b
mov r14d, r10d
xor r14b, 0x66
and r14b, r11b
mov r15d, r10d
and r15b, 0x91
mov edi, r9d
xor dil, 0x91
xor r9b, 0x6e
or dil, r9b
mov r12d, r10d
and r12b, 8
and r14b, 0x6e
mov r13d, r10d
and r13b, 0x99
xor r13b, r14b
xor r13b, 0xf7
and r11b, 0x66
or r11b, r12b
or r11b, 0x81
xor r11b, r15b
xor r11b, 0x89
xor r10b, 0x91
or r10b, r11b
and r10b, r13b
xor r9b, dil
and r9b, dil
xor r9b, r10b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 6
jne 0x180021d30
mov byte [0x18004681a], 1
movabs r15, 0xcc6caab865315f31
add r15, qword [0x180044aa0]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18002282e
mov r14, rax
cmp rax, 0xf
ja 0x18002200b
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], 0xf
lea rcx, [rbp + 0xc0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xc0
jmp 0x1800221fb
movabs rcx, 0xcc6caab86531842b
add rcx, qword [0x180044a70]
call fcn.180030d60
movabs r15, 0xcc6caab865315f31
add r15, qword [0x180044aa8]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180022833
mov r14, rax
cmp rax, 0xf
ja 0x18002204a
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], 0xf
lea rcx, [rbp + 0xc0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xc0
jmp 0x1800222bd
cmp byte [0x18004677e], 0
jne 0x180021f32
mov rdx, qword [0x180044a70]
movabs rax, 0xcc6caab865318294
add rax, rdx
movabs rcx, 0xcc6caab8653182a9
add rcx, rdx
xor edx, edx
lea r8, [0x180046773]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov r11d, r10d
not r11b
or r11b, r9b
not r9b
or r9b, r10b
mov r10d, r11d
xor r10b, 0x55
mov edi, r9d
xor dil, 0x55
xor r11b, 0xaa
and r11b, dil
xor r9b, 0xaa
and r9b, r10b
or r9b, r11b
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xb
jne 0x180021ee6
mov byte [0x18004677e], 1
movabs r15, 0xcc6caab865315f31
add r15, qword [0x180044a78]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180022838
mov r14, rax
cmp rax, 0xf
ja 0x180022089
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], 0xf
lea rcx, [rbp + 0xc0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xc0
jmp 0x18002237f
cmp byte [0x180046791], 0
jne 0x1800225c6
mov rdx, qword [0x180044a70]
movabs rax, 0xcc6caab8653182d0
add rax, rdx
movabs rcx, 0xcc6caab8653182ea
add rcx, rdx
movabs r8, 0xcc6caab8653182fb
add r8, rdx
lea rdx, [0x180046780]
cmp r8, rdx
jbe 0x18002240f
lea r8, [0x180046791]
cmp rax, r8
jae 0x18002240f
xor r8d, r8d
jmp 0x180022518
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x1800221c9
lea rcx, [rdi + 0x28]
call fcn.180033070
mov r12, rax
add r12, 0x27
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x1800221d5
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x18002228b
lea rcx, [rdi + 0x28]
call fcn.180033070
mov r12, rax
add r12, 0x27
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x180022297
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x18002234d
lea rcx, [rdi + 0x28]
call fcn.180033070
mov r12, rax
add r12, 0x27
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x180022359
mov byte [rbp - 0x40], 0x27
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
movabs rcx, 0xcc6caab86531830f
add rcx, qword [0x180044a70]
call fcn.180030b70
movabs rbx, 0xcc6caab865315f31
add rbx, qword [0x180044a88]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rbp + 0xd0]
lea rdx, [rax + rcx]
inc rdx
cmp rdx, 0x10
jb 0x18002215b
lea rcx, [rbp + 0xa0]
call fcn.180017490
mov qword [rbp + 0xb0], 0
lea rcx, [rbp + 0xa0]
lea r8, [rbp + 0xc0]
lea r9, [rbp - 0x40]
mov rdx, rbx
call fcn.1800287c0
lea rcx, [rbp + 0x60]
lea r8, [rbp + 0xa0]
mov edx, 0x196
xor r9d, r9d
call fcn.1800248f0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180022711
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.1800255d0
lea rdx, [0x18003c740]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180033070
mov r12, rax
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rdi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0xa0]
lea r9, [rbp + 0xc0]
mov rcx, rbx
mov r8d, 0xa
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
lea r8, [rbp - 0x40]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180022711
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180029d10
lea rdx, [0x18003c800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180033070
mov r12, rax
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rdi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0xa0]
lea r9, [rbp + 0xc0]
mov rcx, rbx
mov r8d, 0xb
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
lea r8, [rbp - 0x40]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180022711
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180029d10
lea rdx, [0x18003c800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180033070
mov r12, rax
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rdi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0xa0]
lea r9, [rbp + 0xc0]
mov rcx, rbx
mov r8d, 4
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
lea r8, [rbp - 0x40]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180022711
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180029d10
lea rdx, [0x18003c800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
movdqu xmm0, xmmword [rcx]
movdqu xmm3, xmmword [rax]
movdqa xmm4, xmmword [0x1800384c0]
movdqa xmm2, xmm3
pxor xmm2, xmm4
pand xmm2, xmm3
movdqa xmm7, xmmword [0x1800384d0]
movdqa xmm5, xmmword [0x1800384e0]
movdqa xmm1, xmm0
movdqa xmm8, xmm2
pand xmm8, xmm7
pcmpeqd xmm6, xmm6
movdqa xmm9, xmm3
pand xmm9, xmm4
pxor xmm9, xmm8
pxor xmm9, xmmword [0x1800384f0]
pxor xmm2, xmm6
por xmm2, xmm3
pandn xmm2, xmm4
por xmm2, xmm9
movdqa xmm4, xmm3
pand xmm4, xmm5
pxor xmm7, xmm3
pxor xmm3, xmm5
por xmm3, xmm7
pxor xmm4, xmm2
pxor xmm4, xmmword [0x180038440]
movdqa xmm7, xmmword [0x180038500]
pand xmm7, xmm4
pand xmm2, xmmword [str.nnnnnnnnnnnnnnnn]
por xmm2, xmm7
pxor xmm2, xmm3
pxor xmm2, xmmword [0x180038520]
pxor xmm1, xmm5
por xmm4, xmm3
pxor xmm4, xmm6
por xmm4, xmm2
movdqa xmm2, xmmword [0x180038530]
movdqa xmm3, xmm0
pand xmm3, xmm2
movdqa xmm5, xmmword [0x180038540]
pxor xmm0, xmm5
pand xmm0, xmm1
pxor xmm3, xmm5
por xmm3, xmm0
pxor xmm2, xmm4
pxor xmm4, xmmword [str.JJJJJJJJJJJJJJJJ________________]
pand xmm4, xmm3
pandn xmm3, xmm2
por xmm3, xmm4
movdqa xmmword [0x180046780], xmm3
mov r8d, 0x10
movzx r9d, byte [rcx + r8]
movzx edi, byte [rax + r8]
mov r11d, edi
xor r11b, 0xfa
and r11b, dil
mov r10d, r9d
xor r10b, 1
mov r14d, r11d
and r14b, 0xfe
not r11b
mov r15d, edi
and r15b, 0xfa
xor r15b, r14b
xor r15b, 0xfb
or r11b, dil
not r11b
and r11b, 0xfa
or r11b, r15b
mov r14d, edi
and r14b, 1
mov r15d, edi
xor r15b, 0xfe
xor dil, 1
or dil, r15b
xor r14b, r11b
xor r14b, 5
mov r15d, r14d
and r15b, 0x91
and r11b, 0x6e
or r11b, r15b
xor r11b, dil
xor r11b, 4
or r14b, dil
not r14b
or r14b, r11b
mov r11d, r9d
and r11b, 0xb5
xor r9b, 0xb4
and r9b, r10b
xor r11b, 0xb4
or r11b, r9b
xor r11b, r14b
xor r11b, 0xb5
mov byte [r8 + rdx], r11b
inc r8
cmp r8, 0x11
jne 0x180022518
mov byte [0x180046791], 1
movabs r15, 0xcc6caab865315f31
add r15, qword [0x180044a80]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x18002283d
mov r14, rax
cmp rax, 0xf
ja 0x180022635
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], 0xf
lea rcx, [rbp + 0xc0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xc0
jmp 0x18002269f
mov rax, r14
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x18002266d
lea rcx, [rdi + 0x28]
call fcn.180033070
mov r12, rax
add r12, 0x27
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x180022679
lea rcx, [rdi + 1]
call fcn.180033070
mov r12, rax
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rdi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0xa0]
lea r9, [rbp + 0xc0]
mov rcx, rbx
mov r8d, 0xc
call fcn.1800201a0
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x60]
lea r8, [rbp - 0x40]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.18001f9d0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180020f00
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
jne 0x180022842
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x180022750
mov rcx, qword [rbp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002274b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022828
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::exception.0
mov qword [rbp + 0x60], rax
lea rsi, vtable.std::exception.0
mov qword [rbp + 0x80], rsi
lea rcx, [rbp + 0x88]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp + 0x60], rsi
lea rcx, [rbp + 0x68]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov rax, qword [rbp + 0xb8]
cmp rax, 0x10
jb 0x1800227c3
mov rcx, qword [rbp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800227be
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022828
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x180022821
mov rcx, qword [rbp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18002281c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180022828
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1800330b4
xor esi, esi
jmp 0x180021c7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.18000b930
call fcn.18000b930
call fcn.18000b930
call fcn.18000b930
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180029d10
lea rdx, [0x18003c800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3