Function at 0x180033480
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]
movaps xmmword [rbp + 0x120], xmm9
movaps xmmword [rbp + 0x110], xmm8
movaps xmmword [rbp + 0x100], xmm7
movaps xmmword [rbp + 0xf0], xmm6
mov qword [rbp + 0xe8], 0xfffffffffffffffe
mov rsi, rdx
mov rbx, rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps 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, [0x180052afc]
mov r12, rbp
lea r13, [rbp + 0x60]
movabs r15, 0x3800000000000000
xor edi, edi
nop dword [rax]
test dil, 1
jne 0x180033748
mov eax, dword [rbx + 0x40]
dec eax
cmp eax, 0xe
ja case.0x18003352f.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.18003e7c0
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x18003368d
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180033699
mov byte [rbp + 0x60], 1
mov rcx, rsi
mov rdx, r13
call fcn.18003e7c0
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x180033587
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180033593
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180037d20
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x18003374f
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.18003af10
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180033c27
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.180026670
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.180026bf0
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x180033510
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180037d20
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x180033758
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.180026670
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.180026bf0
jmp 0x180033510
xor edi, edi
jmp 0x180033809
cmp eax, 0xb
jne 0x180033b7c
add qword [rsi + 0x10], 0xfffffffffffffff8
jmp 0x180033809
mov rax, qword [rbx + 0xc0]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18003f790
jmp 0x180033809
movsd xmm6, qword [rbx + 0xd0]
movsd qword [rbp], xmm6
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
test ax, ax
jg 0x1800343c3
movsd qword [rbp], xmm6
mov rcx, rsi
mov rdx, r12
call fcn.18003ec30
jmp 0x180033809
mov rax, qword [rbx + 0xc8]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.1800400b0
jmp 0x180033809
mov byte [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18003f010
jmp 0x180033809
mov byte [rbp], 1
mov rcx, rsi
mov rdx, r12
call fcn.18003f010
jmp 0x180033809
mov rcx, rsi
mov rdx, qword [rbp - 0x48]
call fcn.18003fb60
jmp 0x180033809
mov qword [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18003f3e0
mov rax, qword [rbp - 8]
test rax, rax
je 0x180033d66
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 0x18003388a
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x18003390f
cmp eax, 0xd
jne 0x180033d6b
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x180033510
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xb
je 0x18003390f
cmp eax, 0xd
jne 0x180033ebf
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x180034034
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.18003af10
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x18003416b
mov rcx, qword [rbp + 0xe0]
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x180033510
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.18003c6b0
mov dil, 1
jmp 0x180033510
movabs rcx, 0xd50206f8d909516
add rcx, qword [0x18005fcf0]
call fcn.180048190
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fd10]
lea rcx, [rbp + 0xa0]
call fcn.180001a90
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
xor r8d, r8d
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
jmp 0x180033ccd
lea rdi, [rbx + 0x68]
cmp qword [rbx + 0x68], 1
je 0x180034b06
movabs rcx, 0xd50206f8d909516
add rcx, qword [0x18005fcf0]
call fcn.180048190
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fd10]
lea rcx, [rbp + 0xa0]
call fcn.180001a90
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.180032480
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rdi]
movaps 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.180031c40
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov rdx, qword [rdi]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
jmp 0x180033ccd
movabs rcx, 0xd50206f8d909516
add rcx, qword [0x18005fcf0]
call fcn.180048190
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fd10]
lea rcx, [rbp + 0xa0]
call fcn.180001a90
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
jmp 0x180033ccd
movabs rcx, 0xd50206f8d90954b
add rcx, qword [0x18005fcf0]
call fcn.180048270
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fcf8]
lea rcx, [rbp + 0xa0]
call fcn.180001a90
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 4
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
jmp 0x180033ccd
movabs rcx, 0xd50206f8d909585
add rcx, qword [0x18005fcf0]
call fcn.180048320
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fd00]
lea rcx, [rbp + 0xa0]
call fcn.180001a90
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0xc
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x50], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
mov esi, eax
lea rcx, [rbp + 0xc0]
call fcn.180001bd0
mov rcx, rbp
call fcn.1800332e0
lea rcx, [rbp + 0x60]
call fcn.180001bd0
lea rcx, [rbp + 0xa0]
call fcn.180001bd0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180033d32
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180033d2d
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180034c56
add rdx, 0x27
mov rcx, rax
call fcn.18004a3ec
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 0x180033cf8
cmp byte [0x1800620ca], 0
jne 0x180033e4c
mov rax, qword [0x18005fcf0]
movabs rcx, 0xd50206f8d909688
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096a7
xor cl, byte [rax + rdx]
mov byte [0x1800620c4], cl
movabs rcx, 0xd50206f8d909689
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096a8
xor cl, byte [rax + rdx]
mov byte [0x1800620c5], cl
movabs rcx, 0xd50206f8d90968a
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096a9
xor cl, byte [rax + rdx]
mov byte [0x1800620c6], cl
movabs rcx, 0xd50206f8d90968b
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096aa
xor cl, byte [rax + rdx]
mov byte [0x1800620c7], cl
movabs rcx, 0xd50206f8d90968c
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096ab
xor cl, byte [rax + rdx]
mov byte [0x1800620c8], cl
movabs rcx, 0xd50206f8d90968d
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096ac
xor cl, byte [rax + rdx]
mov byte [0x1800620c9], cl
mov byte [0x1800620ca], 1
movabs r15, 0xd50206f8d906350
add r15, qword [0x18005fd20]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180034c5c
mov r14, rax
cmp rax, 0xf
ja 0x1800341ce
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 0x1800344f4
cmp byte [0x1800620d2], 0
jne 0x180033fc1
mov rax, qword [0x18005fcf0]
movabs rcx, 0xd50206f8d9096c4
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d4
xor cl, byte [rax + rdx]
mov byte [0x1800620cb], cl
movabs rcx, 0xd50206f8d9096c5
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d5
xor cl, byte [rax + rdx]
mov byte [0x1800620cc], cl
movabs rcx, 0xd50206f8d9096c6
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d6
xor cl, byte [rax + rdx]
mov byte [0x1800620cd], cl
movabs rcx, 0xd50206f8d9096c7
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d7
xor cl, byte [rax + rdx]
mov byte [0x1800620ce], cl
movabs rcx, 0xd50206f8d9096c8
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d8
xor cl, byte [rax + rdx]
mov byte [0x1800620cf], cl
movabs rcx, 0xd50206f8d9096c9
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096d9
xor cl, byte [rax + rdx]
mov byte [0x1800620d0], cl
movabs rcx, 0xd50206f8d9096ca
movzx ecx, byte [rax + rcx]
movabs rdx, 0xd50206f8d9096da
xor cl, byte [rax + rdx]
mov byte [0x1800620d1], cl
mov byte [0x1800620d2], 1
movabs r15, 0xd50206f8d906350
add r15, qword [0x18005fd28]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180034c61
mov r14, rax
cmp rax, 0xf
ja 0x180034275
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 0x1800345b4
cmp byte [0x18006202e], 0
jne 0x1800340f8
mov rdx, qword [0x18005fcf0]
movabs rax, 0xd50206f8d90954b
add rax, rdx
movabs rcx, 0xd50206f8d90955c
add rcx, rdx
xor edx, edx
lea r8, [0x180062023]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov edi, r10d
xor dil, 9
and dil, r10b
mov r11d, r9d
xor r11b, 0xe2
mov r14d, r10d
and r14b, 0xe2
mov r15d, r14d
xor r15b, 0xe2
mov r12d, edi
xor r12b, r10b
or dil, 0xe2
xor r14b, 0xf6
and r14b, dil
and r12b, 9
or r12b, r14b
mov edi, r15d
and dil, 0x22
and r10b, 0xc0
or r10b, dil
xor r10b, 0x22
and r10b, r15b
or r10b, r12b
mov edi, r9d
and dil, 0xcc
xor dil, 0xc
xor r9b, 0x2e
and r9b, r11b
or r9b, dil
xor r9b, r10b
xor r9b, 0xcc
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xb
jne 0x18003406b
mov byte [0x18006202e], 1
movabs r15, 0xd50206f8d906350
add r15, qword [0x18005fcf8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180034c66
mov r14, rax
cmp rax, 0xf
ja 0x18003431c
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 0x180034674
cmp byte [0x180062041], 0
jne 0x180034836
mov rdx, qword [0x18005fcf0]
movabs rax, 0xd50206f8d909585
add rax, rdx
movabs rcx, 0xd50206f8d909597
add rcx, rdx
movabs r8, 0xd50206f8d9095a8
add r8, rdx
lea rdx, [0x180062030]
cmp r8, rdx
jbe 0x180034702
lea r8, [0x180062041]
cmp rax, r8
jae 0x180034702
xor r8d, r8d
jmp 0x1800347b8
mov rax, r14
xor rax, 0xf
mov rcx, r14
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r14
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r14
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov edi, 0x16
cmovae rdi, rdx
cmp rdi, 0xfff
jb 0x1800344c2
lea rcx, [rdi + 0x28]
call fcn.18004a3a8
mov r12, 0xffffffffffffffd8
sub r12, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r12, r8
or r12, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r12
xor r12, r8
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x1800344ce
mov rax, r14
xor rax, 0xf
mov rcx, r14
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r14
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r14
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov edi, 0x16
cmovae rdi, rdx
cmp rdi, 0xfff
jb 0x180034582
lea rcx, [rdi + 0x28]
call fcn.18004a3a8
mov r12, 0xffffffffffffffd8
sub r12, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r12, r8
or r12, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r12
xor r12, r8
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x18003458e
mov rax, r14
xor rax, 0xf
mov rcx, r14
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r14
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r14
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov edi, 0x16
cmovae rdi, rdx
cmp rdi, 0xfff
jb 0x180034642
lea rcx, [rdi + 0x28]
call fcn.18004a3a8
mov r12, 0xffffffffffffffd8
sub r12, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r12, r8
or r12, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r12
xor r12, r8
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x18003464e
mov byte [rbp - 0x40], 0x27
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
movabs rcx, 0xd50206f8d9095c0
add rcx, qword [0x18005fcf0]
call fcn.1800484d0
movabs rbx, 0xd50206f8d906350
add rbx, qword [0x18005fd08]
xorps xmm0, xmm0
movaps 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 0x180034454
lea rcx, [rbp + 0xa0]
call fcn.18001dae0
mov qword [rbp + 0xb0], 0
lea rcx, [rbp + 0xa0]
lea r8, [rbp + 0xc0]
lea r9, [rbp - 0x40]
mov rdx, rbx
call fcn.18003b340
lea rcx, [rbp + 0x60]
lea r8, [rbp + 0xa0]
mov edx, 0x196
xor r9d, r9d
call fcn.180036fc0
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x1800349e7
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180037ca0
lea rdx, [0x180055060]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.18004a3a8
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.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x1800349e7
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.18004a3a8
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.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x1800349e7
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.18004a3a8
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.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x1800349e7
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
movups xmm1, xmmword [rcx]
movups xmm0, xmmword [rax]
movaps xmm2, xmmword [str.XXXXXXXXXXXXXXXX]
movaps xmm4, xmm1
andps xmm4, xmm2
movaps xmm3, xmmword [0x1800505d0]
movaps xmm6, xmm1
andnps xmm6, xmm3
movaps xmm7, xmmword [0x1800505e0]
movaps xmm8, xmm1
andnps xmm8, xmm7
movaps xmm5, xmmword [0x1800505f0]
andps xmm5, xmm1
orps xmm5, xmm8
movaps xmm8, xmmword [0x180050600]
movaps xmm9, xmm1
andps xmm9, xmm8
orps xmm9, xmm7
orps xmm5, xmm8
xorps xmm5, xmm9
orps xmm5, xmm4
xorps xmm5, xmmword [0x180050610]
movaps xmm7, xmm1
andnps xmm7, xmmword [str.________________DDDDDDDDDDDDDDDD]
movaps xmm8, xmm0
xorps xmm8, xmm3
andnps xmm3, xmm1
andps xmm1, xmmword [0x180050620]
orps xmm1, xmm7
orps xmm1, xmmword [0x1800502f0]
orps xmm3, xmm6
xorps xmm1, xmm4
xorps xmm1, xmmword [str.8888888888888888]
andps xmm1, xmm3
orps xmm1, xmm5
xorps xmm0, xmm2
andps xmm0, xmm1
andnps xmm1, xmm8
orps xmm0, xmm1
movaps xmmword [0x180062030], xmm0
mov r8d, 0x10
movzx r9d, byte [rcx + r8]
mov r14d, r9d
not r14b
mov r11d, r9d
and r11b, 0x58
mov r10d, r14d
and r10b, 0xa7
mov r15d, r14d
and r15b, 0x84
mov edi, r9d
and dil, 2
or dil, r15b
mov r15d, r9d
and r15b, 0x21
or r15b, 0x84
or dil, 0x21
xor dil, r15b
or dil, r11b
xor dil, 0x86
and r14b, 0x20
and r9b, 0x87
or r9b, r14b
or r9b, 0x40
or r10b, r11b
xor r9b, r11b
xor r9b, 0x38
and r9b, r10b
or r9b, dil
xor r9b, byte [rax + r8]
xor r9b, 0xa7
mov byte [r8 + rdx], r9b
inc r8
cmp r8, 0x11
jne 0x1800347b8
mov byte [0x180062041], 1
movabs r15, 0xd50206f8d906350
add r15, qword [0x18005fd00]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180034c6b
mov r14, rax
cmp rax, 0xf
ja 0x1800348a5
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 0x180034977
mov rax, r14
xor rax, 0xf
mov rcx, r14
and rcx, 0xfffffffffffffff0
or rcx, 8
xor rcx, r14
mov rdx, rcx
xor rdx, 0xfffffffffffffff7
xor rcx, 8
mov r8, r14
xor r8, 0xfffffffffffffff0
and r8, rcx
and rcx, rax
and rdx, rax
or rdx, r8
xor rdx, rcx
cmp rdx, 0x17
mov edi, 0x16
cmovae rdi, rdx
cmp rdi, 0xfff
jb 0x180034945
lea rcx, [rdi + 0x28]
call fcn.18004a3a8
mov r12, 0xffffffffffffffd8
sub r12, rax
mov rcx, rax
add rcx, 0x27
movabs rdx, 0x3c21826532d101c2
and rdx, rcx
movabs r8, 0xc3de7d9acd2efe3d
and r12, r8
or r12, rdx
movabs rdx, 0x3c21826532d101dd
xor rdx, rcx
xor rdx, r12
xor r12, r8
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x180034951
lea rcx, [rdi + 1]
call fcn.18004a3a8
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.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rbx + 0x68]
movaps 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.180031c40
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
jne 0x180034c70
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x180034a26
mov rcx, qword [rbp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180034a21
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180034c56
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
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 0x180034a9d
mov rcx, qword [rbp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180034a98
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180034c56
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x180034aff
mov rcx, qword [rbp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180034afa
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180034c56
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
xor esi, esi
jmp 0x180033cf8
cmp byte [0x1800620c3], 0
jne 0x180034bbf
mov rax, qword [0x18005fcf0]
movabs r9, 0xd50206f8d90960d
add r9, rax
movabs r10, 0xd50206f8d9095fd
add r10, rax
movabs r11, 0xd50206f8d9095fc
add r11, rax
mov ecx, 1
xor r8d, r8d
movabs rbx, 0xf0f0f0f0f0f0f0f1
lea r14, [0x18006205d]
mov rax, rcx
mul rbx
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov r15, r10
sub r15, rdx
mov rax, r8
mul rbx
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, r11
sub rax, rdx
movzx eax, byte [rax + r8]
xor al, byte [r9 + r8]
mov byte [r8 + r14], al
movzx eax, byte [r15 + r8]
xor al, byte [r9 + r8 + 1]
mov byte [r8 + r14 + 1], al
add r8, 2
add rcx, 2
cmp r8, 0x66
jne 0x180034b5a
mov byte [0x1800620c3], 1
movabs rdx, 0xd50206f8d906350
add rdx, qword [0x18005fd18]
lea rcx, [rbp + 0x60]
call fcn.180001a90
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.180031c40
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp + 0xe0]
call fcn.180033090
mov rdx, qword [rdi]
lea r8, [rbp + 0xa0]
mov r9, rbp
mov rcx, rsi
call fcn.180036040
mov esi, eax
lea rcx, [rbp + 0xa0]
call fcn.180001bd0
mov rcx, rbp
call fcn.1800332e0
lea rcx, [rbp + 0x60]
jmp 0x180033cf3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180019a20
call fcn.180019a20
call fcn.180019a20
call fcn.180019a20
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3