Function at 0x18002efe0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x110], xmm9
movaps xmmword [rbp + 0x100], xmm8
movaps xmmword [rbp + 0xf0], xmm7
movaps xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0xd8], 0xfffffffffffffffe
mov qword [rbp + 0xd0], rdx
mov rbx, rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
lea rdi, [rcx + 0x48]
lea r14, [rcx + 0x98]
lea r13, [0x180052ac0]
lea r15, [rbp - 0x30]
movabs rsi, 0x3800000000000000
xor r12d, r12d
nop dword [rax]
test r12b, 1
jne 0x18002f24d
mov eax, dword [rbx + 0x40]
dec eax
cmp eax, 0xe
ja case.0x18002f080.10
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
mov rcx, qword [rbp + 0xd0]
mov rdx, 0xffffffffffffffff
call fcn.180036940
test al, al
je 0x180030629
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x18002f369
mov rax, qword [rbp + 0x28]
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + rsi]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp + 0x10]
and eax, 0x1f
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], rax
mov r8d, 1
lea rcx, [rbp + 0x10]
lea rdx, [rbp + 0x90]
call fcn.180026670
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + rsi]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp + 0x10]
and eax, 0x1f
lea rcx, [rax + 1]
mov r8d, ecx
shr r8d, 5
lea r8, [rdx + r8*4]
and ecx, 0x1f
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x50]
mov rdx, r15
mov r8b, 1
call fcn.180026bf0
jmp 0x18002f060
mov rcx, qword [rbp + 0xd0]
mov rdx, 0xffffffffffffffff
call fcn.180036100
test al, al
je 0x180030629
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x18002f255
mov rcx, qword [rbp + 0xd0]
mov rdx, r14
call fcn.1800366e0
test al, al
je 0x180030629
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x18002f79c
mov rax, qword [rbp + 0x28]
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + rsi]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp + 0x10]
and eax, 0x1f
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], rax
mov r8d, 1
lea rcx, [rbp + 0x10]
lea rdx, [rbp + 0x90]
call fcn.180026670
mov rcx, rax
shr rcx, 5
lea rdx, [rcx + rsi]
test rax, rax
cmovns rdx, rcx
shl rdx, 2
add rdx, qword [rbp + 0x10]
and eax, 0x1f
lea rcx, [rax + 1]
mov r8d, ecx
shr r8d, 5
lea r8, [rdx + r8*4]
and ecx, 0x1f
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x50]
mov rdx, r15
xor r8d, r8d
call fcn.180026bf0
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x18002f060
xor r12d, r12d
jmp 0x18002f37d
cmp eax, 0xb
jne 0x18002f6ef
mov rcx, qword [rbp + 0xd0]
call fcn.1800363d0
jmp 0x18002f375
mov rax, qword [rbx + 0xc0]
mov qword [rbp + 0x50], rax
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003bd70
jmp 0x18002f37d
movsd xmm6, qword [rbx + 0xd0]
movsd qword [rbp - 0x30], xmm6
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
test ax, ax
jg 0x18002fe2e
movsd qword [rbp + 0x50], xmm6
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003b460
jmp 0x18002f37d
mov rax, qword [rbx + 0xc8]
mov qword [rbp + 0x50], rax
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003c3b0
jmp 0x18002f37d
mov byte [rbp + 0x50], 0
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003b770
jmp 0x18002f37d
mov byte [rbp + 0x50], 1
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003b770
jmp 0x18002f37d
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
mov r8, r14
xor r9d, r9d
call fcn.18003c070
jmp 0x18002f37d
mov qword [rbp + 0x50], 0
mov rcx, qword [rbp + 0xd0]
mov rdx, r15
lea r8, [rbp + 0x50]
xor r9d, r9d
call fcn.18003ba70
jmp 0x18002f37d
mov rcx, qword [rbp + 0xd0]
call fcn.180036dc0
test al, al
je 0x180030629
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x18002f875
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 + rsi]
test rax, rax
cmovns r9, r8
shl r9, 2
add r9, qword [rbp + 0x10]
mov eax, dword [r9 + rdx*4]
bt eax, ecx
jae 0x18002f3f6
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x18002f45e
cmp eax, 0xd
jne 0x18002f87d
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x18002f060
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xb
je 0x18002f46c
cmp eax, 0xd
jne 0x18002f9d1
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x18002fb46
mov rcx, qword [rbp + 0xd0]
mov rdx, r14
call fcn.1800366e0
test al, al
je 0x180030629
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x18002fc7d
mov rcx, rdi
call fcn.18002bf50
mov dword [rbx + 0x40], eax
jmp 0x18002f060
mov rcx, qword [rbp + 0xd0]
call fcn.180036dc0
jmp 0x18002f478
mov rcx, qword [rbp + 0xd0]
call fcn.1800363d0
test al, al
je 0x180030629
mov rax, qword [rbp + 0x28]
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 + rsi]
test rax, rax
cmovns r9, r8
shl r9, 2
add r9, qword [rbp + 0x10]
lea rax, [r9 + rdx*4]
and ecx, 0x1f
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
lea rcx, [rbp + 0x10]
lea rdx, [rbp + 0x50]
mov r8, r15
call fcn.18003c6b0
mov r12b, 1
jmp 0x18002f060
movabs rcx, 0xdb2b5de3390e04af
add rcx, qword [0x18005fc30]
call fcn.180048190
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc50]
lea rcx, [rbp + 0x90]
call fcn.180001a90
lea rdx, [rbp + 0x50]
lea r9, [rbp + 0x90]
mov rcx, rbx
xor r8d, r8d
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
jmp 0x18002f844
lea rsi, [rbx + 0x68]
cmp qword [rbx + 0x68], 1
je 0x180030699
movabs rcx, 0xdb2b5de3390e04af
add rcx, qword [0x18005fc30]
call fcn.180048190
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc50]
lea rcx, [rbp + 0x90]
call fcn.180001a90
lea rdx, [rbp + 0x50]
lea r9, [rbp + 0x90]
mov rcx, rbx
mov r8d, 0x10
call fcn.180032480
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
mov rdx, qword [rsi]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
jmp 0x18002f844
movabs rcx, 0xdb2b5de3390e04af
add rcx, qword [0x18005fc30]
call fcn.180048190
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc50]
lea rcx, [rbp + 0x90]
call fcn.180001a90
lea rdx, [rbp + 0x50]
lea r9, [rbp + 0x90]
mov rcx, rbx
mov r8d, 0x10
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
jmp 0x18002f844
movabs rcx, 0xdb2b5de3390e04e4
add rcx, qword [0x18005fc30]
call fcn.180048270
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc38]
lea rcx, [rbp + 0x90]
call fcn.180001a90
lea rdx, [rbp + 0x50]
lea r9, [rbp + 0x90]
mov rcx, rbx
mov r8d, 4
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
jmp 0x18002f844
movabs rcx, 0xdb2b5de3390e051e
add rcx, qword [0x18005fc30]
call fcn.180048320
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc40]
lea rcx, [rbp + 0x90]
call fcn.180001a90
lea rdx, [rbp + 0x50]
lea r9, [rbp + 0x90]
mov rcx, rbx
mov r8d, 0xc
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x30]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
mov esi, eax
lea rcx, [rbp + 0xb0]
call fcn.180001bd0
lea rcx, [rbp - 0x30]
call fcn.1800332e0
lea rcx, [rbp + 0x50]
call fcn.180001bd0
lea rcx, [rbp + 0x90]
call fcn.180001bd0
jmp 0x18003062b
mov sil, 1
jmp 0x18003062b
cmp byte [0x1800620ca], 0
jne 0x18002f95e
mov rax, qword [0x18005fc30]
movabs rcx, 0xdb2b5de3390e0621
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0640
xor cl, byte [rax + rdx]
mov byte [0x1800620c4], cl
movabs rcx, 0xdb2b5de3390e0622
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0641
xor cl, byte [rax + rdx]
mov byte [0x1800620c5], cl
movabs rcx, 0xdb2b5de3390e0623
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0642
xor cl, byte [rax + rdx]
mov byte [0x1800620c6], cl
movabs rcx, 0xdb2b5de3390e0624
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0643
xor cl, byte [rax + rdx]
mov byte [0x1800620c7], cl
movabs rcx, 0xdb2b5de3390e0625
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0644
xor cl, byte [rax + rdx]
mov byte [0x1800620c8], cl
movabs rcx, 0xdb2b5de3390e0626
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0645
xor cl, byte [rax + rdx]
mov byte [0x1800620c9], cl
mov byte [0x1800620ca], 1
movabs r15, 0xdb2b5de3390dd2e9
add r15, qword [0x18005fc60]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800307f2
mov r14, rax
cmp rax, 0xf
ja 0x18002fce0
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], 0xf
lea rcx, [rbp + 0xb0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xb0
jmp 0x180030009
cmp byte [0x1800620d2], 0
jne 0x18002fad3
mov rax, qword [0x18005fc30]
movabs rcx, 0xdb2b5de3390e065d
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e066d
xor cl, byte [rax + rdx]
mov byte [0x1800620cb], cl
movabs rcx, 0xdb2b5de3390e065e
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e066e
xor cl, byte [rax + rdx]
mov byte [0x1800620cc], cl
movabs rcx, 0xdb2b5de3390e065f
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e066f
xor cl, byte [rax + rdx]
mov byte [0x1800620cd], cl
movabs rcx, 0xdb2b5de3390e0660
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0670
xor cl, byte [rax + rdx]
mov byte [0x1800620ce], cl
movabs rcx, 0xdb2b5de3390e0661
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0671
xor cl, byte [rax + rdx]
mov byte [0x1800620cf], cl
movabs rcx, 0xdb2b5de3390e0662
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0672
xor cl, byte [rax + rdx]
mov byte [0x1800620d0], cl
movabs rcx, 0xdb2b5de3390e0663
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb2b5de3390e0673
xor cl, byte [rax + rdx]
mov byte [0x1800620d1], cl
mov byte [0x1800620d2], 1
movabs r15, 0xdb2b5de3390dd2e9
add r15, qword [0x18005fc68]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800307f7
mov r14, rax
cmp rax, 0xf
ja 0x18002fd87
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], 0xf
lea rcx, [rbp + 0xb0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xb0
jmp 0x1800300d0
cmp byte [0x18006202e], 0
jne 0x18002fc0a
mov rdx, qword [0x18005fc30]
movabs rax, 0xdb2b5de3390e04e4
add rax, rdx
movabs rcx, 0xdb2b5de3390e04f5
add rcx, rdx
xor edx, edx
lea r8, [0x180062023]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
mov esi, r10d
xor sil, 9
and sil, r10b
mov r11d, r9d
xor r11b, 0xe2
mov r14d, r10d
and r14b, 0xe2
mov r15d, r14d
xor r15b, 0xe2
mov r12d, esi
xor r12b, r10b
or sil, 0xe2
xor r14b, 0xf6
and r14b, sil
and r12b, 9
or r12b, r14b
mov esi, r15d
and sil, 0x22
and r10b, 0xc0
or r10b, sil
xor r10b, 0x22
and r10b, r15b
or r10b, r12b
mov esi, r9d
and sil, 0xcc
xor sil, 0xc
xor r9b, 0x2e
and r9b, r11b
or r9b, sil
xor r9b, r10b
xor r9b, 0xcc
mov byte [rdx + r8], r9b
inc rdx
cmp rdx, 0xb
jne 0x18002fb7d
mov byte [0x18006202e], 1
movabs r15, 0xdb2b5de3390dd2e9
add r15, qword [0x18005fc38]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1800307fc
mov r14, rax
cmp rax, 0xf
ja 0x18002ff30
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], 0xf
lea rcx, [rbp + 0xb0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xb0
jmp 0x180030197
cmp byte [0x180062041], 0
jne 0x180030360
mov rdx, qword [0x18005fc30]
movabs rax, 0xdb2b5de3390e051e
add rax, rdx
movabs rcx, 0xdb2b5de3390e0530
add rcx, rdx
movabs r8, 0xdb2b5de3390e0541
add r8, rdx
lea rdx, [0x180062030]
cmp r8, rdx
jbe 0x18003022c
lea r8, [0x180062041]
cmp rax, r8
jae 0x18003022c
xor r8d, r8d
jmp 0x1800302e2
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 esi, 0x16
cmovae rsi, rdx
cmp rsi, 0xfff
jb 0x18002ffd7
lea rcx, [rsi + 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 0x18002ffe3
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 esi, 0x16
cmovae rsi, rdx
cmp rsi, 0xfff
jb 0x18003009e
lea rcx, [rsi + 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 0x1800300aa
mov byte [rbp - 0x50], 0x27
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.180033090
movabs rcx, 0xdb2b5de3390e0559
add rcx, qword [0x18005fc30]
call fcn.1800484d0
movabs rbx, 0xdb2b5de3390dd2e9
add rbx, qword [0x18005fc48]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0xf
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rbp + 0xc0]
lea rdx, [rax + rcx]
inc rdx
cmp rdx, 0x10
jb 0x18002febb
lea rcx, [rbp + 0x90]
call fcn.18001dae0
mov qword [rbp + 0xa0], 0
lea rcx, [rbp + 0x90]
lea r8, [rbp + 0xb0]
lea r9, [rbp - 0x50]
mov rdx, rbx
call fcn.18003b340
lea rcx, [rbp + 0x50]
lea r8, [rbp + 0x90]
mov edx, 0x196
xor r9d, r9d
call fcn.180036fc0
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180033090
mov rax, qword [rbp + 0xd0]
mov byte [rax + 0x68], 1
cmp byte [rax + 0xb0], 0
je 0x180030517
lea rsi, [rbp - 0x30]
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.180037ca0
lea rdx, [0x180055060]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
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 esi, 0x16
cmovae rsi, rdx
cmp rsi, 0xfff
jb 0x180030165
lea rcx, [rsi + 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 0x180030171
lea rcx, [rsi + 1]
call fcn.18004a3a8
mov r12, rax
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], rsi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x90]
lea r9, [rbp + 0xb0]
mov rcx, rbx
mov r8d, 0xa
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x50]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0x90]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180033090
mov rax, qword [rbp + 0xd0]
mov byte [rax + 0x68], 1
cmp byte [rax + 0xb0], 0
je 0x180030517
lea rsi, [rbp - 0x30]
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rsi + 1]
call fcn.18004a3a8
mov r12, rax
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], rsi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x90]
lea r9, [rbp + 0xb0]
mov rcx, rbx
mov r8d, 0xb
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x50]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0x90]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180033090
mov rax, qword [rbp + 0xd0]
mov byte [rax + 0x68], 1
cmp byte [rax + 0xb0], 0
je 0x180030517
lea rsi, [rbp - 0x30]
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rsi + 1]
call fcn.18004a3a8
mov r12, rax
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], rsi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x90]
lea r9, [rbp + 0xb0]
mov rcx, rbx
mov r8d, 4
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x50]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0x90]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180033090
mov rax, qword [rbp + 0xd0]
mov byte [rax + 0x68], 1
cmp byte [rax + 0xb0], 0
je 0x180030517
lea rsi, [rbp - 0x30]
lea rdx, [rbp + 0x50]
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 esi, r9d
and sil, 2
or sil, r15b
mov r15d, r9d
and r15b, 0x21
or r15b, 0x84
or sil, 0x21
xor sil, r15b
or sil, r11b
xor sil, 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, sil
xor r9b, byte [rax + r8]
xor r9b, 0xa7
mov byte [r8 + rdx], r9b
inc r8
cmp r8, 0x11
jne 0x1800302e2
mov byte [0x180062041], 1
movabs r15, 0xdb2b5de3390dd2e9
add r15, qword [0x18005fc40]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x180030801
mov r14, rax
cmp rax, 0xf
ja 0x1800303cf
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], 0xf
lea rcx, [rbp + 0xb0]
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, rbp
add r14, 0xb0
jmp 0x1800304a1
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 esi, 0x16
cmovae rsi, rdx
cmp rsi, 0xfff
jb 0x18003046f
lea rcx, [rsi + 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 0x18003047b
lea rcx, [rsi + 1]
call fcn.18004a3a8
mov r12, rax
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], rsi
mov rcx, r12
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add r14, r12
mov byte [r14], 0
lea rdx, [rbp + 0x90]
lea r9, [rbp + 0xb0]
mov rcx, rbx
mov r8d, 0xc
call fcn.180032480
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbx + 0x68]
movaps xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x50]
lea r8, [rbp - 0x50]
lea r9, [rbp + 0x90]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.180033090
mov rax, qword [rbp + 0xd0]
mov byte [rax + 0x68], 1
cmp byte [rax + 0xb0], 0
jne 0x180030806
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x180030556
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180030551
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800307ec
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 + 0x50], rax
lea rsi, vtable.std::exception.0
mov qword [rbp + 0x70], rsi
lea rcx, [rbp + 0x78]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov qword [rbp + 0x50], rsi
lea rcx, [rbp + 0x58]
call sub.VCRUNTIME140.dll___std_exception_destroy
mov rax, qword [rbp + 0xa8]
cmp rax, 0x10
jb 0x1800305c7
mov rcx, qword [rbp + 0x90]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800305c2
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800307ec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov rax, qword [rbp + 0xc8]
cmp rax, 0x10
jb 0x180030629
mov rcx, qword [rbp + 0xb0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180030624
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1800307ec
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18004a3ec
xor esi, esi
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x180030665
mov rdx, qword [rbp + 0x20]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180030660
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1800307ec
add rdx, 0x27
mov rcx, rax
call fcn.18004a3ec
mov eax, esi
movaps xmm6, xmmword [rbp + 0xe0]
movaps xmm7, xmmword [rbp + 0xf0]
movaps xmm8, xmmword [rbp + 0x100]
movaps xmm9, xmmword [rbp + 0x110]
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [0x1800620c3], 0
jne 0x180030752
mov rax, qword [0x18005fc30]
movabs r9, 0xdb2b5de3390e05a6
add r9, rax
movabs r10, 0xdb2b5de3390e0596
add r10, rax
movabs r11, 0xdb2b5de3390e0595
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 0x1800306ed
mov byte [0x1800620c3], 1
movabs rdx, 0xdb2b5de3390dd2e9
add rdx, qword [0x18005fc58]
lea rcx, [rbp + 0x50]
call fcn.180001a90
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0xc0], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0xb0], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0xb0]
lea r9, [rbp + 0x50]
mov edx, 0x65
call fcn.180031c40
lea rdx, [rbp + 0x90]
mov rcx, rdi
call fcn.180033090
mov rdx, qword [rsi]
lea r8, [rbp + 0x90]
lea r9, [rbp - 0x30]
mov rcx, qword [rbp + 0xd0]
call fcn.180031be0
mov esi, eax
lea rcx, [rbp + 0x90]
call fcn.180001bd0
lea rcx, [rbp - 0x30]
call fcn.1800332e0
lea rcx, [rbp + 0x50]
jmp 0x18002f86b
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
lea rsi, [rbp - 0x30]
lea rdx, [rbp + 0x50]
mov rcx, rsi
call fcn.18003c860
lea rdx, [0x180055120]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3