Function at 0x180030400
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
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, [0x18005046c]
mov r12, rbp
lea r13, [rbp + 0x60]
movabs r15, 0x3800000000000000
xor edi, edi
nop word cs:[rax + rax]
test dil, 1
jne 0x1800306b8
mov eax, dword [rbx + 0x40]
dec eax
cmp eax, 0xe
ja case.0x18003049f.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.18003b690
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x1800305fd
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180030609
mov byte [rbp + 0x60], 1
mov rcx, rsi
mov rdx, r13
call fcn.18003b690
mov qword [rbp], rax
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi + 0x18]
je 0x1800304f7
mov qword [rdx], rax
add qword [rsi + 0x10], 8
jmp 0x180030503
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180034380
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x1800306bf
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.1800376b0
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180030bde
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.180023630
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.180023ae0
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
jmp 0x180030480
mov rcx, qword [rbp - 0x50]
mov r8, r12
call fcn.180034380
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x1800306c8
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.180023630
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.180023ae0
jmp 0x180030480
xor edi, edi
jmp 0x180030779
cmp eax, 0xb
jne 0x180030b33
add qword [rsi + 0x10], 0xfffffffffffffff8
jmp 0x180030779
mov rax, qword [rbx + 0xc0]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18003c660
jmp 0x180030779
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 0x180031492
movsd qword [rbp], xmm6
mov rcx, rsi
mov rdx, r12
call fcn.18003bb00
jmp 0x180030779
mov rax, qword [rbx + 0xc8]
mov qword [rbp], rax
mov rcx, rsi
mov rdx, r12
call fcn.18003cf80
jmp 0x180030779
mov byte [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18003bee0
jmp 0x180030779
mov byte [rbp], 1
mov rcx, rsi
mov rdx, r12
call fcn.18003bee0
jmp 0x180030779
mov rcx, rsi
mov rdx, qword [rbp - 0x48]
call fcn.18003ca30
jmp 0x180030779
mov qword [rbp], 0
mov rcx, rsi
mov rdx, r12
call fcn.18003c2b0
mov rax, qword [rbp - 8]
test rax, rax
je 0x180030dac
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
mov eax, 1
shl eax, cl
add r9, qword [rbp - 0x20]
and eax, dword [r9 + rdx*4]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xa0230470
mov r8d, eax
and r8d, 0x45c88180
and eax, 0x10107008
and ecx, 0xa040a07
add edx, r8d
add edx, 0x10107008
add eax, ecx
add eax, 0xa0230470
xor eax, edx
cmp eax, 0x1a147a0f
jne 0x18003088e
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 0xb
je 0x1800308bf
cmp eax, 0xd
jne 0x180030f05
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 4
jne 0x18003107a
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.1800376b0
mov rax, qword [rbp]
add rax, 0x40
mov qword [rsi + 0x20], rax
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 0xc
jne 0x180031191
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
jmp 0x180030480
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
cmp eax, 0xa
je 0x1800308bf
cmp eax, 0xd
jne 0x180030db1
mov rcx, qword [rbp + 0xe0]
call fcn.1800297e0
mov dword [rbx + 0x40], eax
jmp 0x180030480
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.1800390e0
mov dil, 1
jmp 0x180030480
movabs rcx, 0xdb614cb1fa54d265
add rcx, qword [0x18005cc70]
call fcn.1800456d0
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc90]
lea rcx, [rbp + 0xa0]
call fcn.1800018d0
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
xor r8d, r8d
call fcn.18002f180
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.18002ea90
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
jmp 0x180030d2a
lea rdi, [rbx + 0x68]
cmp qword [rbx + 0x68], 1
jne 0x180030c89
movabs rcx, 0xdb614cb1fa54d363
add rcx, qword [0x18005cc70]
call fcn.1800457c0
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc98]
lea rcx, [rbp + 0x60]
call fcn.1800018d0
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.18002ea90
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov rdx, qword [rdi]
lea r8, [rbp + 0xa0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
mov esi, eax
lea rcx, [rbp + 0xa0]
call fcn.180001a00
mov rcx, rbp
call fcn.180030260
lea rcx, [rbp + 0x60]
jmp 0x180030d50
movabs rcx, 0xdb614cb1fa54d265
add rcx, qword [0x18005cc70]
call fcn.1800456d0
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc90]
lea rcx, [rbp + 0xa0]
call fcn.1800018d0
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.18002f180
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.18002ea90
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
jmp 0x180030d2a
movabs rcx, 0xdb614cb1fa54d2a9
add rcx, qword [0x18005cc70]
call fcn.180045710
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc78]
lea rcx, [rbp + 0xa0]
call fcn.1800018d0
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 4
call fcn.18002f180
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.18002ea90
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
jmp 0x180030d2a
movabs rcx, 0xdb614cb1fa54d2e9
add rcx, qword [0x18005cc70]
call fcn.180045790
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc80]
lea rcx, [rbp + 0xa0]
call fcn.1800018d0
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0xc
call fcn.18002f180
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.18002ea90
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
add rbx, 0x68
mov rdx, qword [rbx]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
jmp 0x180030d2a
movabs rcx, 0xdb614cb1fa54d265
add rcx, qword [0x18005cc70]
call fcn.1800456d0
movabs rdx, 0xdb614cb1fa54a3ca
add rdx, qword [0x18005cc90]
lea rcx, [rbp + 0xa0]
call fcn.1800018d0
lea rdx, [rbp + 0x60]
lea r9, [rbp + 0xa0]
mov rcx, rbx
mov r8d, 0x10
call fcn.18002f180
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.18002ea90
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov rdx, qword [rdi]
lea r8, [rbp + 0xc0]
mov r9, rbp
mov rcx, rsi
call fcn.180032710
mov esi, eax
lea rcx, [rbp + 0xc0]
call fcn.180001a00
mov rcx, rbp
call fcn.180030260
lea rcx, [rbp + 0x60]
call fcn.180001a00
lea rcx, [rbp + 0xa0]
call fcn.180001a00
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180030d8f
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180030d8a
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180031a2d
add rdx, 0x27
mov rcx, rax
call fcn.180047cc0
mov eax, esi
movaps xmm6, xmmword [rbp + 0xf0]
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov sil, 1
jmp 0x180030d55
cmp byte [0x18005ef3a], 0
jne 0x180030e92
mov rax, qword [0x18005cc70]
movabs rcx, 0xdb614cb1fa54d3f1
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d408
xor cl, byte [rax + rdx]
mov byte [0x18005ef34], cl
movabs rcx, 0xdb614cb1fa54d3f2
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d409
xor cl, byte [rax + rdx]
mov byte [0x18005ef35], cl
movabs rcx, 0xdb614cb1fa54d3f3
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d40a
xor cl, byte [rax + rdx]
mov byte [0x18005ef36], cl
movabs rcx, 0xdb614cb1fa54d3f4
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d40b
xor cl, byte [rax + rdx]
mov byte [0x18005ef37], cl
movabs rcx, 0xdb614cb1fa54d3f5
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d40c
xor cl, byte [rax + rdx]
mov byte [0x18005ef38], cl
movabs rcx, 0xdb614cb1fa54d3f6
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d40d
xor cl, byte [rax + rdx]
mov byte [0x18005ef39], cl
mov byte [0x18005ef3a], 1
movabs r15, 0xdb614cb1fa54a3ca
add r15, qword [0x18005cca0]
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 0x180031a33
mov r14, rax
cmp rax, 0xf
ja 0x18003121a
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 0x180031666
cmp byte [0x18005ef42], 0
jne 0x180031007
mov rax, qword [0x18005cc70]
movabs rcx, 0xdb614cb1fa54d420
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d432
xor cl, byte [rax + rdx]
mov byte [0x18005ef3b], cl
movabs rcx, 0xdb614cb1fa54d421
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d433
xor cl, byte [rax + rdx]
mov byte [0x18005ef3c], cl
movabs rcx, 0xdb614cb1fa54d422
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d434
xor cl, byte [rax + rdx]
mov byte [0x18005ef3d], cl
movabs rcx, 0xdb614cb1fa54d423
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d435
xor cl, byte [rax + rdx]
mov byte [0x18005ef3e], cl
movabs rcx, 0xdb614cb1fa54d424
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d436
xor cl, byte [rax + rdx]
mov byte [0x18005ef3f], cl
movabs rcx, 0xdb614cb1fa54d425
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d437
xor cl, byte [rax + rdx]
mov byte [0x18005ef40], cl
movabs rcx, 0xdb614cb1fa54d426
movzx ecx, byte [rax + rcx]
movabs rdx, 0xdb614cb1fa54d438
xor cl, byte [rax + rdx]
mov byte [0x18005ef41], cl
mov byte [0x18005ef42], 1
movabs r15, 0xdb614cb1fa54a3ca
add r15, qword [0x18005cca8]
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 0x180031a38
mov r14, rax
cmp rax, 0xf
ja 0x1800312b8
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 0x180031726
cmp byte [0x18005ee9e], 0
jne 0x18003111e
mov rdx, qword [0x18005cc70]
movabs rax, 0xdb614cb1fa54d2a9
add rax, rdx
movabs rcx, 0xdb614cb1fa54d2c1
add rcx, rdx
xor edx, edx
lea r8, [0x18005ee93]
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
movzx r10d, byte [rax + rdx]
not r10b
mov r11d, r9d
and r11b, r10b
or r10b, r9b
mov r9d, r11d
not r9b
mov edi, r11d
and dil, 0x82
mov r14d, r9d
and r14b, 0x24
or r14b, dil
and r9b, 0x40
and r11b, 0x19
or r11b, r9b
or r14b, 0x40
or r11b, 0x82
xor r11b, r10b
xor r11b, r14b
xor r11b, 0x59
mov byte [rdx + r8], r11b
inc rdx
cmp rdx, 0xb
jne 0x1800310c0
mov byte [0x18005ee9e], 1
movabs r15, 0xdb614cb1fa54a3ca
add r15, qword [0x18005cc78]
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 0x180031a3d
mov r14, rax
cmp rax, 0xf
ja 0x180031356
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 0x1800317e6
movabs rcx, 0xdb614cb1fa54d2e9
add rcx, qword [0x18005cc70]
call fcn.180045790
movabs r15, 0xdb614cb1fa54a3ca
add r15, qword [0x18005cc80]
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 0x180031a42
mov r14, rax
cmp rax, 0xf
ja 0x1800313f4
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 0x1800318a6
mov eax, r14d
and eax, 0xf
movabs rcx, 0x19de41ba56853670
or rcx, rax
mov rdx, r14
and rdx, 0xfffffffffffffff0
movabs r8, 0x19de41ba5685367f
xor r8, rdx
xor r8, rcx
or r8, rax
cmp r8, 0x17
mov edi, 0x16
cmovae rdi, r8
cmp rdi, 0xfff
jb 0x180031634
lea rcx, [rdi + 0x28]
call fcn.180047c7c
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r12, 0x26c553cca5b37451
and rdx, r12
movabs r8, 0xd93aac335a4c8bae
and r8, rcx
or r8, rdx
xor r12, r8
movabs rcx, 0xd93aac335a4c8bb1
xor rcx, r8
and r12, rcx
xor r12, rcx
mov qword [r12 - 8], rax
jmp 0x180031640
mov eax, r14d
and eax, 0xf
movabs rcx, 0x19de41ba56853670
or rcx, rax
mov rdx, r14
and rdx, 0xfffffffffffffff0
movabs r8, 0x19de41ba5685367f
xor r8, rdx
xor r8, rcx
or r8, rax
cmp r8, 0x17
mov edi, 0x16
cmovae rdi, r8
cmp rdi, 0xfff
jb 0x1800316f4
lea rcx, [rdi + 0x28]
call fcn.180047c7c
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r12, 0x26c553cca5b37451
and rdx, r12
movabs r8, 0xd93aac335a4c8bae
and r8, rcx
or r8, rdx
xor r12, r8
movabs rcx, 0xd93aac335a4c8bb1
xor rcx, r8
and r12, rcx
xor r12, rcx
mov qword [r12 - 8], rax
jmp 0x180031700
mov eax, r14d
and eax, 0xf
movabs rcx, 0x19de41ba56853670
or rcx, rax
mov rdx, r14
and rdx, 0xfffffffffffffff0
movabs r8, 0x19de41ba5685367f
xor r8, rdx
xor r8, rcx
or r8, rax
cmp r8, 0x17
mov edi, 0x16
cmovae rdi, r8
cmp rdi, 0xfff
jb 0x1800317b4
lea rcx, [rdi + 0x28]
call fcn.180047c7c
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r12, 0x26c553cca5b37451
and rdx, r12
movabs r8, 0xd93aac335a4c8bae
and r8, rcx
or r8, rdx
xor r12, r8
movabs rcx, 0xd93aac335a4c8bb1
xor rcx, r8
and r12, rcx
xor r12, rcx
mov qword [r12 - 8], rax
jmp 0x1800317c0
mov eax, r14d
and eax, 0xf
movabs rcx, 0x19de41ba56853670
or rcx, rax
mov rdx, r14
and rdx, 0xfffffffffffffff0
movabs r8, 0x19de41ba5685367f
xor r8, rdx
xor r8, rcx
or r8, rax
cmp r8, 0x17
mov edi, 0x16
cmovae rdi, r8
cmp rdi, 0xfff
jb 0x180031874
lea rcx, [rdi + 0x28]
call fcn.180047c7c
mov rcx, 0xffffffffffffffd8
sub rcx, rax
mov rdx, rax
add rdx, 0x27
movabs r12, 0x26c553cca5b37451
and rdx, r12
movabs r8, 0xd93aac335a4c8bae
and r8, rcx
or r8, rdx
xor r12, r8
movabs rcx, 0xd93aac335a4c8bb1
xor rcx, r8
and r12, rcx
xor r12, rcx
mov qword [r12 - 8], rax
jmp 0x180031880
mov byte [rbp - 0x40], 0x27
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
cmp byte [0x18005eecc], 0
jne 0x180031562
mov rax, qword [0x18005cc70]
movabs r9, 0xdb614cb1fa54d332
add r9, rax
movabs r10, 0xdb614cb1fa54d322
add r10, rax
movabs r11, 0xdb614cb1fa54d321
add r11, rax
mov ecx, 1
xor r8d, r8d
movabs rdi, 0xf0f0f0f0f0f0f0f1
lea rbx, [0x18005eeb2]
mov rax, rcx
mul rdi
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov r14, r10
sub r14, rdx
mov rax, r8
mul rdi
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 + rbx], al
movzx eax, byte [r14 + r8]
xor al, byte [r9 + r8 + 1]
mov byte [r8 + rbx + 1], al
add r8, 2
add rcx, 2
cmp r8, 0x1a
jne 0x1800314fd
mov byte [0x18005eecc], 1
movabs rbx, 0xdb614cb1fa54a3ca
add rbx, qword [0x18005cc88]
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 0x1800315c6
lea rcx, [rbp + 0xa0]
call fcn.18001b270
mov qword [rbp + 0xb0], 0
lea rcx, [rbp + 0xa0]
lea r8, [rbp + 0xc0]
lea r9, [rbp - 0x40]
mov rdx, rbx
call fcn.180037ae0
lea rcx, [rbp + 0x60]
lea r8, [rbp + 0xa0]
mov edx, 0x196
xor r9d, r9d
call fcn.180033440
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180031916
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180034300
lea rdx, [0x180052910]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180047c7c
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.18002f180
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.18002ea90
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180031916
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180039260
lea rdx, [0x1800529d0]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180047c7c
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.18002f180
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.18002ea90
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180031916
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180039260
lea rdx, [0x1800529d0]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180047c7c
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.18002f180
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.18002ea90
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
je 0x180031916
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180039260
lea rdx, [0x1800529d0]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
lea rcx, [rdi + 1]
call fcn.180047c7c
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.18002f180
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.18002ea90
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp + 0xe0]
call fcn.18002fe50
mov byte [rsi + 0x28], 1
cmp byte [rsi + 0x29], 0
jne 0x180031a47
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x180031955
mov rcx, qword [rbp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180031950
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180031a2d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
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 0x1800319c8
mov rcx, qword [rbp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800319c3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180031a2d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x180031a26
mov rcx, qword [rbp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180031a21
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x180031a2d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.180047cc0
xor esi, esi
jmp 0x180030d55
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.180016f90
call fcn.180016f90
call fcn.180016f90
call fcn.180016f90
mov rsi, rbp
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.180039260
lea rdx, [0x1800529d0]
mov rcx, rsi
call sub.VCRUNTIME140.dll__CxxThrowException
int3