Function at 0x180022940
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x130], xmm10
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 - 0x28], rax
lea rax, [rcx + 0x48]
mov qword [rbp + 0xe0], rax
lea rax, [rcx + 0x98]
mov qword [rbp - 0x30], rax
lea r14, [0x18003c7ec]
mov r12, rbp
lea r13, [rbp + 0x40]
movabs r15, 0x3800000000000000
xor edi, edi
jmp 0x180022a50
cmp eax, 0xb
jne 0x180023f83
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.18002bcb0
mov dil, 1
nop dword [rax + rax]
test dil, 1
jne 0x180022da6
mov eax, dword [rbx + 0x40]
dec eax
cmp eax, 0xe
ja case.0x180022a6f.10
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
mov byte [rbp + 0x40], 2
mov rcx, rsi
mov rdx, r13
call fcn.18002e020
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x180022c6b
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180022c77
mov byte [rbp + 0x40], 1
mov rcx, rsi
mov rdx, r13
call fcn.18002e020
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x180022ac7
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180022ad3
mov rcx, qword [rbp - 0x28]
mov r8, r12
call fcn.1800273d0
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xb
jne 0x180022b80
add qword [rsi + 0x10], 0xfffffffffffffff8
mov rax, qword [rbp - 8]
test rax, rax
je 0x18002308d
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 0x180022d26
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x1800229e8
cmp eax, 0xd
jne 0x180023298
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
jmp 0x180022a50
cmp eax, 4
jne 0x180023ecd
mov rax, qword [rsi + 0x10]
mov rax, qword [rax - 8]
mov rcx, qword [rax + 8]
mov rdx, r12
mov r8, qword [rbp - 0x30]
call fcn.18002a4e0
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180023146
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.180014360
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 + 0x40], rdx
mov qword [rbp + 0x48], rax
mov rcx, r13
mov rdx, r12
xor r8d, r8d
call fcn.180014820
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
jmp 0x180022a50
mov rcx, qword [rbp - 0x28]
mov r8, r12
call fcn.1800273d0
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x180022aeb
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.180014360
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 + 0x40], rdx
mov qword [rbp + 0x48], rax
mov rcx, r13
mov rdx, r12
mov r8b, 1
call fcn.180014820
jmp 0x180022a50
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xd
jne 0x1800229df
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x1800233ef
mov rax, qword [rsi + 0x10]
mov rax, qword [rax - 8]
mov rcx, qword [rax + 8]
mov rdx, r12
mov r8, qword [rbp - 0x30]
call fcn.18002a4e0
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x1800234f3
mov rcx, qword [rbp + 0xe0]
call fcn.18001a8f0
mov dword [rbx + 0x40], eax
jmp 0x180022a50
xor edi, edi
jmp 0x180022af0
mov rax, qword [rbx + 0xc0]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18002eff0
jmp 0x180022af0
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 0x180023d4f
movq qword [rbp], xmm6
mov rcx, rsi
mov rdx, r12
call fcn.18002e490
jmp 0x180022af0
mov rax, qword [rbx + 0xc8]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18002f910
jmp 0x180022af0
mov byte [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18002e870
jmp 0x180022af0
mov byte [rbp], 1
mov rcx, rsi
mov rdx, r12
call fcn.18002e870
jmp 0x180022af0
mov rcx, rsi
mov rdx, qword [rbp - 0x30]
call fcn.18002f3c0
jmp 0x180022af0
mov qword [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18002ec40
jmp 0x180022af0
movabs rcx, 0x4293007dee4f161c
add rcx, qword [0x180046ac0]
call fcn.1800333e0
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ae0]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
xor r8d, r8d
call fcn.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
jmp 0x1800231f7
lea rdi, [rbx + 0x68]
cmp qword [rbx + 0x68], 1
jne 0x180023095
movabs rcx, 0x4293007dee4f1702
add rcx, qword [0x180046ac0]
call fcn.180033770
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ae8]
lea rcx, [rbp + 0x40]
call fcn.180002800
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 + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov rdx, qword [rdi]
lea r8, [rbp + 0xa0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
mov esi, eax
lea rcx, [rbp + 0xa0]
call fcn.180001680
mov rcx, rbp
call fcn.1800227a0
lea rcx, [rbp + 0x40]
jmp 0x18002321d
movabs rcx, 0x4293007dee4f161c
add rcx, qword [0x180046ac0]
call fcn.1800333e0
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ae0]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
jmp 0x1800231f7
mov sil, 1
jmp 0x180023222
movabs rcx, 0x4293007dee4f161c
add rcx, qword [0x180046ac0]
call fcn.1800333e0
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ae0]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.180021300
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rdi]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov rdx, qword [rdi]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
jmp 0x1800231f7
movabs rcx, 0x4293007dee4f1689
add rcx, qword [0x180046ac0]
call fcn.180033500
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ad0]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0xc
call fcn.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
mov esi, eax
lea rcx, [rbp + 0xc0]
call fcn.180001680
mov rcx, rbp
call fcn.1800227a0
lea rcx, [rbp + 0x40]
call fcn.180001680
lea rcx, [rbp + 0xa0]
call fcn.180001680
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x18002325c
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180023257
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180024039
add rdx, 0x27
mov rcx, rax
call fcn.180035d00
mov eax, esi
movaps xmm6, xmmword [rbp + 0xf0]
movaps xmm7, xmmword [rbp + 0x100]
movaps xmm8, xmmword [rbp + 0x110]
movaps xmm9, xmmword [rbp + 0x120]
movaps xmm10, xmmword [rbp + 0x130]
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [0x1800488ea], 0
jne 0x180023379
mov rax, qword [0x180046ac0]
movabs rcx, 0x4293007dee4f179d
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b1
xor cl, byte [rax + rdx]
mov byte [0x1800488e4], cl
movabs rcx, 0x4293007dee4f179e
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b2
xor cl, byte [rax + rdx]
mov byte [0x1800488e5], cl
movabs rcx, 0x4293007dee4f179f
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b3
xor cl, byte [rax + rdx]
mov byte [0x1800488e6], cl
movabs rcx, 0x4293007dee4f17a0
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b4
xor cl, byte [rax + rdx]
mov byte [0x1800488e7], cl
movabs rcx, 0x4293007dee4f17a1
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b5
xor cl, byte [rax + rdx]
mov byte [0x1800488e8], cl
movabs rcx, 0x4293007dee4f17a2
movzx ecx, byte [rax + rcx]
movabs rdx, 0x4293007dee4f17b6
xor cl, byte [rax + rdx]
mov byte [0x1800488e9], cl
mov byte [0x1800488ea], 1
movabs r15, 0x4293007dee4ef11c
add r15, qword [0x180046af0]
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 0x18002403f
mov r14, rax
cmp rax, 0xf
ja 0x180023556
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 0x180023724
cmp byte [0x18004884c], 0
jne 0x18002347d
mov rdx, qword [0x180046ac0]
movabs rax, 0x4293007dee4f164e
add rax, rdx
movabs rcx, 0x4293007dee4f1666
add rcx, rdx
xor edx, edx
lea r8, [0x180048841]
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
not r9b
mov r11d, r10d
and r11b, r9b
or r9b, r10b
mov r10d, r11d
and r10b, 0x83
mov edi, r11d
and dil, 0x10
or dil, 0x80
xor dil, r10b
and r11b, 0x6c
or r11b, dil
xor r11b, r9b
xor r11b, 0x7f
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 0xb
jne 0x180023430
mov byte [0x18004884c], 1
movabs r15, 0x4293007dee4ef11c
add r15, qword [0x180046ac8]
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 0x180024044
mov r14, rax
cmp rax, 0xf
ja 0x180023624
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 0x1800237e9
cmp byte [0x180048861], 0
jne 0x180023a50
mov rdx, qword [0x180046ac0]
movabs rax, 0x4293007dee4f1689
add rax, rdx
movabs rcx, 0x4293007dee4f169c
add rcx, rdx
movabs r8, 0x4293007dee4f16ad
add r8, rdx
lea rdx, [0x180048850]
cmp r8, rdx
jbe 0x18002387c
lea r8, [0x180048861]
cmp rax, r8
jae 0x18002387c
xor r8d, r8d
jmp 0x180023987
mov ecx, r14d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r14
xor r8, 0xf
mov rax, r14
xor rax, 0xfffffffffffffff0
mov r9d, r14d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r14
or r8, rax
and r8, r10
movabs r10, 0x420200d2d800000e
and r10, rdx
or r10, r9
movabs r9, 0x3c458004059c0120
or r9, r10
xor r9, r8
xor rcx, rax
xor rax, rdx
or rax, rcx
not rax
or rax, r9
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x1800236f2
lea rcx, [rdi + 0x28]
call fcn.180035cbc
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r8, 0x200806a620eb8002
and r8, rdx
movabs r9, 0xdff7f959df147ffd
and r9, rcx
or r9, r8
movabs r12, 0xdff7f959df147fe2
xor r12, r9
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x1800236fe
mov ecx, r14d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r14
xor r8, 0xf
mov rax, r14
xor rax, 0xfffffffffffffff0
mov r9d, r14d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r14
or r8, rax
and r8, r10
movabs r10, 0x420200d2d800000e
and r10, rdx
or r10, r9
movabs r9, 0x3c458004059c0120
or r9, r10
xor r9, r8
xor rcx, rax
xor rax, rdx
or rax, rcx
not rax
or rax, r9
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x1800237b7
lea rcx, [rdi + 0x28]
call fcn.180035cbc
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r8, 0x200806a620eb8002
and r8, rdx
movabs r9, 0xdff7f959df147ffd
and r9, rcx
or r9, r8
movabs r12, 0xdff7f959df147fe2
xor r12, r9
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x1800237c3
lea rcx, [rdi + 1]
call fcn.180035cbc
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.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x40]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0x80]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180023c30
mov rsi, rbp
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.18002be30
lea rdx, [0x18003e800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180035cbc
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.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x40]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0x80]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180023c30
mov rsi, rbp
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.18002be30
lea rdx, [0x18003e800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rax]
movdqa xmm3, xmmword [0x18003a630]
movdqa xmm4, xmm0
por xmm4, xmm3
movdqa xmm2, xmmword [0x18003a640]
pand xmm2, xmm1
movdqa xmm6, xmmword [0x18003a650]
pand xmm6, xmm1
pxor xmm6, xmmword [0x18003a660]
por xmm2, xmm6
pand xmm6, xmm3
pxor xmm6, xmmword [0x18003a670]
pcmpeqd xmm5, xmm5
pxor xmm2, xmmword [str.VVVVVVVVVVVVVVVV]
por xmm2, xmm6
pand xmm1, xmm3
movdqa xmm7, xmm4
pandn xmm7, xmmword [0x18003a690]
movdqa xmm6, xmmword [0x18003a360]
pand xmm6, xmm0
por xmm6, xmm7
movdqa xmm7, xmmword [str.0000000000000000WWWWWWWWWWWWWWWW]
movdqa xmm8, xmm0
pand xmm8, xmm7
movdqa xmm9, xmm0
pand xmm9, xmm3
movdqa xmm10, xmmword [str.CCCCCCCCCCCCCCCC]
por xmm10, xmm9
pxor xmm6, xmmword [0x18003a400]
pand xmm6, xmm10
por xmm6, xmm8
pxor xmm6, xmm7
movdqa xmm7, xmm0
pandn xmm7, xmmword [str.________________AAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaa]
movdqa xmm8, xmmword [0x18003a6b0]
pand xmm4, xmm8
por xmm4, xmm7
pxor xmm9, xmm8
pxor xmm9, xmm4
pxor xmm0, xmm3
por xmm0, xmm9
pxor xmm0, xmm5
por xmm0, xmm6
pxor xmm2, xmm5
por xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [0x180048850], xmm2
mov r8d, 0x10
mov qword [rbp - 0x28], rax
nop dword [rax + rax]
movzx r9d, byte [rcx + r8]
movzx r10d, byte [rax + r8]
mov edi, r9d
or dil, 0x8c
mov r14d, edi
not r14b
mov r11d, r10d
and r11b, 1
mov r15d, r10d
and r15b, 0xfe
xor r15b, 0xda
or r11b, r15b
and r15b, 0x8c
xor r15b, 0x88
xor r11b, 0x56
or r11b, r15b
and r10b, 0x8c
mov r12d, r14d
and r12b, 2
mov r15d, r9d
and r15b, 0x41
or r15b, r12b
mov r12d, r9d
and r12b, 0x30
mov r13d, r9d
and r13b, 0x8c
mov rax, rcx
mov rcx, rdx
lea edx, [r13 + 0x43]
xor r15b, 0xcd
and r15b, dl
mov rdx, rcx
mov rcx, rax
mov rax, qword [rbp - 0x28]
or r15b, r12b
xor r15b, 0x30
and r14b, 0x20
and dil, 0x57
or dil, r14b
xor dil, r13b
xor dil, 0x57
xor r9b, 0x8c
or r9b, dil
not r9b
or r9b, r15b
not r11b
or r11b, r10b
xor r11b, r9b
mov byte [r8 + rdx], r11b
inc r8
cmp r8, 0x11
jne 0x180023990
mov byte [0x180048861], 1
movabs r15, 0x4293007dee4ef11c
add r15, qword [0x180046ad0]
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 0x180024049
mov r14, rax
cmp rax, 0xf
ja 0x180023ac2
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 0x180023bbb
mov ecx, r14d
and ecx, 0xf
mov rdx, rcx
not rdx
mov r8, r14
xor r8, 0xf
mov rax, r14
xor rax, 0xfffffffffffffff0
mov r9d, r14d
and r9d, 1
movabs r10, 0x7e4780d6dd9c0121
xor r10, r14
or r8, rax
and r8, r10
movabs r10, 0x420200d2d800000e
and r10, rdx
or r10, r9
movabs r9, 0x3c458004059c0120
or r9, r10
xor r9, r8
xor rcx, rax
xor rax, rdx
or rax, rcx
not rax
or rax, r9
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x180023b89
lea rcx, [rdi + 0x28]
call fcn.180035cbc
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r8, 0x200806a620eb8002
and r8, rdx
movabs r9, 0xdff7f959df147ffd
and r9, rcx
or r9, r8
movabs r12, 0xdff7f959df147fe2
xor r12, r9
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x180023b95
lea rcx, [rdi + 1]
call fcn.180035cbc
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.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x40]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0xa0]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0x80]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
jne 0x18002404e
mov rax, qword [rbp + 0x98]
cmp rax, 0x10
jb 0x180023c75
mov rcx, qword [rbp + 0x80]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180023c70
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180024039
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
lea rax, vtable.nlohmann::json_abi_v3_11_3::detail::exception.0
mov qword [rbp + 0x40], rax
lea rsi, vtable.std::exception.0
mov qword [rbp + 0x60], rsi
lea rcx, [rbp + 0x68]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp + 0x40], rsi
lea rcx, [rbp + 0x48]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov rax, qword [rbp + 0xb8]
cmp rax, 0x10
jb 0x180023ce6
mov rcx, qword [rbp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180023ce1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180024039
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x180023d48
mov rcx, qword [rbp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180023d43
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180024039
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180035d00
xor esi, esi
jmp 0x180023222
mov byte [rbp - 0x50], 0x27
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
cmp byte [0x18004887c], 0
jne 0x180023df6
mov rax, qword [0x180046ac0]
movabs r8, 0x4293007dee4f16d0
add r8, rax
movabs r9, 0x4293007dee4f16bd
add r9, rax
xor ecx, ecx
movabs r10, 0xd79435e50d79435f
lea r11, [0x180048862]
mov rax, rcx
mul r10
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
add rax, r9
movzx edx, byte [r8 + rcx]
movzx eax, byte [rcx + rax]
mov ebx, edx
and bl, 8
or bl, 0x52
and dl, 0xf7
xor dl, bl
mov ebx, eax
xor bl, 8
xor al, dl
xor dl, 0xa5
xor al, 0x52
and al, bl
or dl, bl
not dl
or dl, al
mov byte [rcx + r11], dl
inc rcx
cmp rcx, 0x1a
jne 0x180023da7
mov byte [0x18004887c], 1
movabs rbx, 0x4293007dee4ef11c
add rbx, qword [0x180046ad8]
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 0x180023e5c
lea rcx, [rbp + 0xa0]
call fcn.180018f70
mov qword [rbp + 0xb0], 0
lea rcx, [rbp + 0xa0]
lea r8, [rbp + 0xc0]
lea r9, [rbp - 0x50]
mov rdx, rbx
call fcn.18002a940
lea rcx, [rbp + 0x40]
lea r8, [rbp + 0xa0]
mov edx, 0x196
xor r9d, r9d
call fcn.180026430
lea rdx, [rbp + 0x80]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180023c30
mov rsi, rbp
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.180027350
lea rdx, [0x18003e740]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
movabs rcx, 0x4293007dee4f164e
add rcx, qword [0x180046ac0]
call fcn.180033490
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046ac8]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 4
call fcn.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
jmp 0x1800231f7
movabs rcx, 0x4293007dee4f17cb
add rcx, qword [0x180046ac0]
call fcn.180033880
movabs rdx, 0x4293007dee4ef11c
add rdx, qword [0x180046af8]
lea rcx, [rbp + 0xa0]
call fcn.180002800
lea rdx, [rbp + 0x40]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0xb
call fcn.180021300
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x90], rax
movdqu xmm0, xmmword [rbx + 0x68]
movdqa xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x40]
mov edx, 0x65
call fcn.180020a60
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.1800222b0
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.1800256f0
jmp 0x1800231f7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.18000d970
call fcn.18000d970
call fcn.18000d970
mov rsi, rbp
lea rdx, [rbp + 0x40]
mov rcx, rsi
call fcn.18002be30
lea rdx, [0x18003e800]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3