Function at 0x180019650
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x510
mov rax, qword [0x1800ee0f8]
xor rax, rsp
mov qword [rsp + 0x500], rax
mov r15, r9
mov qword [rsp + 0xb0], r8
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0xb8], rcx
mov dword [rsp + 0x38], 0
mov r14, qword [r8 + 0x10]
mov rbx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1800196a7
mov rbx, qword [r8]
call fcn.1800b221c
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r14
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rsp + 0x250]
call fcn.180002f00
nop
lea r8, [rsp + 0x250]
lea rdx, [0x1800f0440]
lea rcx, [rsp + 0x2c8]
call fcn.180003400
nop
mov rdx, qword [rsp + 0x268]
cmp rdx, 8
jb 0x180019733
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001972e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001972e
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x260], xmm0
xor ebx, ebx
mov word [rsp + 0x250], bx
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x308]
call fcn.180016fc0
nop
lea rdx, [0x1800f0440]
lea rcx, [rsp + 0x2e8]
call fcn.180016fc0
nop
lea r12, [rsp + 0x308]
cmp qword [rsp + 0x320], 8
cmovae r12, qword [rsp + 0x308]
mov r14, qword [rsp + 0x318]
call fcn.1800b221c
mov r13d, eax
mov qword [rsp + 0x360], rbx
mov qword [rsp + 0x370], rbx
mov qword [rsp + 0x378], 0xf
mov byte [rsp + 0x360], bl
mov dword [rsp + 0x38], 0x40c
test r14, r14
je 0x180019851
cmp r14, 0x7fffffff
ja 0x18001bc35
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, r14d
mov rdx, r12
mov ecx, r13d
call fcn.1800b228c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x18001bc3b
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rsp + 0x360]
call fcn.180010920
lea r9, [rsp + 0x360]
cmp qword [rsp + 0x378], 0x10
cmovae r9, qword [rsp + 0x360]
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov rdx, r12
mov ecx, r13d
call fcn.1800b228c
shr rax, 0x20
test eax, eax
jne 0x18001bc43
xor ebx, ebx
lea r12, [rsp + 0x2e8]
cmp qword [rsp + 0x300], 8
cmovae r12, qword [rsp + 0x2e8]
mov r14, qword [rsp + 0x2f8]
call fcn.1800b221c
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x328], rbx
mov rdx, rbx
mov qword [rsp + 0x338], rbx
mov r13d, 0xf
mov qword [rsp + 0x340], r13
mov byte [rsp + 0x328], 0
mov dword [rsp + 0x38], 0x438c
test r14, r14
je 0x180019942
cmp r14, 0x7fffffff
ja 0x18001bc4b
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, r14d
mov rdx, r12
mov ecx, eax
call fcn.1800b228c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x18001bc51
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rsp + 0x328]
call fcn.180010920
lea r9, [rsp + 0x328]
cmp qword [rsp + 0x340], 0x10
cmovae r9, qword [rsp + 0x328]
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov rdx, r12
mov ecx, dword [rsp + 0x30]
call fcn.1800b228c
shr rax, 0x20
test eax, eax
jne 0x18001bc59
mov r13, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x338]
mov dword [rsp + 0x38], 0x3b8c
lea r9, [rsp + 0x328]
cmp r13, 0x10
setae bl
mov r12, qword [rsp + 0x328]
cmovae r9, r12
lea rcx, [rsp + 0x360]
mov r14, qword [rsp + 0x360]
cmp qword [rsp + 0x378], 0x10
cmovae rcx, r14
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x370]
call fcn.180022be0
mov qword [rsp + 0x30], rax
test bl, bl
je 0x1800199da
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1800199ca
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800199ca
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1800b2e40
mov r14, qword [rsp + 0x360]
xor r13d, r13d
mov qword [rsp + 0x338], r13
mov qword [rsp + 0x340], 0xf
mov byte [rsp + 0x328], r13b
mov rax, qword [rsp + 0x378]
cmp rax, 0x10
jb 0x180019a3b
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180019a33
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019a33
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800b2e40
mov qword [rsp + 0x370], r13
mov qword [rsp + 0x378], 0xf
mov byte [rsp + 0x360], 0
cmp qword [rsp + 0x30], 0
je 0x180019ba0
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov r8d, 1
lea rdx, [0x1800d5910]
mov rcx, rdi
call fcn.1800111b0
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x180019ad3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019ace
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001ac1b
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x2f8], xmm0
mov word [rsp + 0x2e8], r13w
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x180019b35
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001ac80
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001acf1
call fcn.1800b2e40
jmp 0x18001b069
mov dword [rsp + 0x1d0], 0xc7c3c4f2
mov byte [rsp + 0x1d4], 0x64
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1d5], xmm0
mov dword [rsp + 0x1e5], eax
mov byte [rsp + 0x1e9], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x89ab31c9e10ed50
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x1d0]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x30
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x1d0], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1a
jb 0x180019be2
lea rcx, [rsp + 0x1d0]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180019c40
mov r8, qword [rsi + 0x10]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x180019c5a
mov rcx, qword [rsi]
cmp r8, rax
jne 0x18001a335
lea rdx, [rsp + 0x1d0]
call sub.vcruntime140.dll_memcmp
test eax, eax
jne 0x18001a335
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x40]
call fcn.1800172a0
movsd xmm0, qword [rax]
movsd qword [rsp + 0xb8], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x360], ecx
lea rax, [0x1800ee278]
mov qword [rsp + 0x368], rax
movaps xmm0, xmmword [rsp + 0x360]
movdqa xmmword [rsp + 0x360], xmm0
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x18001a1ec
cmp eax, 1
je 0x18001a1f4
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rsp + 0x390]
call sub.vcruntime140.dll_memset
mov r8d, 0x20
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x390]
call fcn.180011e30
nop
cmp qword [rsp + 0x420], 0
jne 0x180019f27
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.1800111b0
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d5600]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x3a0], rax
cmp qword [rsp + 0x420], 0
je 0x180019dcb
mov rax, qword [rsp + 0x3b8]
lea rcx, [rsp + 0x410]
cmp qword [rax], rcx
jne 0x180019dcb
mov rdx, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x428]
mov qword [rax], rcx
mov rax, qword [rsp + 0x3d8]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rsp + 0x3f0]
mov dword [rax], edx
cmp byte [rsp + 0x41c], 0
je 0x180019de2
lea rcx, [rsp + 0x3a0]
call fcn.180010fa0
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x3a8]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x440]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x180019e56
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180019e51
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a258
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
mov word [rsp + 0x2e8], r13w
movdqu xmmword [rsp + 0x2f8], xmm0
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x180019eb8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180019eb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a2bd
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a32e
call fcn.1800b2e40
jmp 0x18001b069
mov qword [rsp + 0x380], r13
mov word [rsp + 0x388], 1
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsp + rcx + 0x3d8]
mov qword [rsp + 0x40], rax
test rax, rax
sete byte [rsp + 0x48]
mov byte [rsp + 0x49], 0
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x338], r13
mov qword [rsp + 0x340], 0xf
mov byte [rsp + 0x328], 0
movaps xmm0, xmmword [rsp + 0x380]
movdqa xmmword [rsp + 0x350], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm1
lea rcx, [rsp + 0x328]
mov qword [rsp + 0xb8], rcx
movzx r14d, byte [rsp + 0x49]
mov rbx, qword [rsp + 0x40]
movzx r12d, byte [rsp + 0x358]
mov rsi, qword [rsp + 0x350]
test rax, rax
jne 0x18001a1c2
movzx r15d, byte [rsp + 0x48]
nop word [rax + rax]
test r12b, r12b
jne 0x180019ffe
test rsi, rsi
je 0x180019ff8
mov rcx, rsi
call qword [sym.imp.msvcp140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
jne 0x180019ffb
mov rsi, r13
mov r12b, 1
test rbx, rbx
jne 0x18001a12e
test rsi, rsi
jne 0x18001a137
lea rcx, [rsp + 0x3a0]
call fcn.180010fa0
test rax, rax
jne 0x18001a046
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x390]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.msvcp140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
movups xmm0, xmmword [rsp + 0x328]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x338]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x338], r13
mov qword [rsp + 0x340], 0xf
mov byte [rsp + 0x328], 0
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d5600]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x3a0], rax
cmp qword [rsp + 0x420], 0
je 0x18001a103
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x410]
cmp rax, rcx
jne 0x18001a103
mov r9, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x428]
mov r8, rdx
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x41c], 0
je 0x18001a11a
lea rcx, [rsp + 0x3a0]
call fcn.180010fa0
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
jmp 0x180019df1
test rsi, rsi
jne 0x18001a010
test r15b, r15b
jne 0x18001a158
test rbx, rbx
je 0x18001a155
mov rcx, rbx
call qword [sym.imp.msvcp140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x18001a155
movzx r14d, al
jmp 0x18001a158
mov rbx, r13
mov rcx, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x340]
cmp rcx, rdx
jae 0x18001a199
lea rax, [rcx + 1]
mov qword [rsp + 0x338], rax
lea rax, [rsp + 0x328]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x328]
mov byte [rax + rcx], r14b
mov byte [rax + rcx + 1], 0
jmp 0x18001a1aa
movzx r9d, r14b
lea rcx, [rsp + 0x328]
call fcn.180012e90
test rbx, rbx
je 0x18001a1e1
mov rcx, rbx
call qword [sym.imp.msvcp140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sbumpc_void____ptr64]
cmp eax, 0xffffffff
je 0x18001a1e1
mov byte [rsp + 0x48], 0
test rbx, rbx
je 0x18001a1e1
mov rcx, rbx
call qword [sym.imp.msvcp140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x18001a1e1
movzx r14d, al
mov r15b, 1
jmp 0x180019fe0
mov rbx, r13
mov r15b, 1
jmp 0x180019fe0
test ecx, ecx
jne 0x18001bc61
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.1800111b0
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x18001a264
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a25f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a25f
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x2f8], xmm0
mov word [rsp + 0x2e8], r13w
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x18001a2c9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a2c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a2c4
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019b96
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x210], 0xcfd3cbcf
mov word [rsp + 0x214], 0x3ddd
xorps xmm0, xmm0
movups xmmword [rsp + 0x216], xmm0
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0xd221b3e9456853f7
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x210]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x3f
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x210], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jb 0x18001a370
lea rcx, [rsp + 0x210]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18001a3d0
mov r8, qword [rsi + 0x10]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18001a3ea
mov rcx, qword [rsi]
cmp r8, rax
jne 0x18001acf8
lea rdx, [rsp + 0x210]
call sub.vcruntime140.dll_memcmp
test eax, eax
jne 0x18001acf8
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx + 0x10]
cmp rax, 4
jb 0x18001a4b0
lea rcx, [rax - 4]
mov qword [rsp + 0x328], r13
mov qword [rsp + 0x338], r13
mov qword [rsp + 0x340], 0xf
cmp rax, rcx
jb 0x18001bc7e
cmp qword [rdx + 0x18], 0x10
jb 0x18001a451
mov rdx, qword [rdx]
add rdx, rcx
mov r8d, 4
lea rcx, [rsp + 0x328]
call fcn.1800111b0
mov r12d, 0xbb8e
lea rcx, [rsp + 0x328]
mov rbx, qword [rsp + 0x328]
mov rsi, qword [rsp + 0x340]
cmp rsi, 0x10
cmovae rcx, rbx
mov r8, qword [rsp + 0x338]
cmp r8, 4
jne 0x18001a4c5
lea rdx, [0x1800d5914]
call sub.vcruntime140.dll_memcmp
test eax, eax
jne 0x18001a4c5
mov r14b, 1
jmp 0x18001a4c8
mov rsi, qword [rsp + 0x340]
mov rbx, qword [rsp + 0x328]
mov r12d, dword [rsp + 0x38]
xor r14b, r14b
test r12b, 2
je 0x18001a508
cmp rsi, 0x10
jb 0x18001a508
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18001a500
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a500
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800b2e40
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x390]
call sub.vcruntime140.dll_memset
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x390]
test r14b, r14b
je 0x18001a86a
mov r8d, 0x20
call fcn.1800223c0
nop
cmp qword [rsp + 0x418], 0
jne 0x18001a75f
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.1800111b0
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d6db8]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x418], 0
je 0x18001a600
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x408]
cmp rax, rcx
jne 0x18001a600
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov r8, rdx
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x414], 0
je 0x18001a617
lea rcx, [rsp + 0x398]
call fcn.180010fa0
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x438]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x18001a68e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a689
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a689
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x2f8], xmm0
mov word [rsp + 0x2e8], r13w
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x18001a6f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a6ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a6ee
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019b96
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
mov r8, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 0x10
jb 0x18001a76d
mov r15, qword [r15]
mov rdx, r15
lea rcx, [rsp + 0x390]
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rsp + 0x398]
call fcn.180010fa0
test rax, rax
jne 0x18001a7b5
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x390]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.msvcp140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d6db8]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x418], 0
je 0x18001a83f
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x408]
cmp rax, rcx
jne 0x18001a83f
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov r8, rdx
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x414], 0
je 0x18001a856
lea rcx, [rsp + 0x398]
call fcn.180010fa0
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
jmp 0x18001ab98
mov r8d, 2
call fcn.1800223c0
nop
cmp qword [rsp + 0x418], 0
jne 0x18001aa93
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.1800111b0
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d6db8]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x418], 0
je 0x18001a934
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x408]
cmp rax, rcx
jne 0x18001a934
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov r8, rdx
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x414], 0
je 0x18001a94b
lea rcx, [rsp + 0x398]
call fcn.180010fa0
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x438]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x18001a9c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a9bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001a9bd
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x2f8], xmm0
mov word [rsp + 0x2e8], r13w
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x18001aa27
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001aa22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001aa22
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019b96
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
mov r8, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 0x10
jb 0x18001aaa1
mov r15, qword [r15]
mov rdx, r15
lea rcx, [rsp + 0x390]
call fcn.180014340
lea rcx, [rsp + 0x398]
call fcn.180010fa0
test rax, rax
jne 0x18001aae8
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x390]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.msvcp140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d6db8]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x418], 0
je 0x18001ab72
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x408]
cmp rax, rcx
jne 0x18001ab72
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov r8, rdx
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x414], 0
je 0x18001ab89
lea rcx, [rsp + 0x398]
call fcn.180010fa0
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x438]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov r8d, 1
lea rdx, [0x1800d5910]
mov rcx, rdi
call fcn.1800111b0
nop
mov rdx, qword [rsp + 0x300]
cmp rdx, 8
jb 0x18001ac27
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ac22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001ac22
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x2f8], xmm0
mov word [rsp + 0x2e8], r13w
mov rdx, qword [rsp + 0x320]
cmp rdx, 8
jb 0x18001ac8c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ac87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001ac87
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800b2e40
movdqa xmm0, xmmword [0x1800db140]
movdqu xmmword [rsp + 0x318], xmm0
mov word [rsp + 0x308], r13w
mov rdx, qword [rsp + 0x2e0]
cmp rdx, 8
jb 0x18001b069
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180019b96
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x110], 0xbcb0b185
mov word [rsp + 0x114], 0x81b4
mov byte [rsp + 0x116], 0x1c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x117], xmm0
mov dword [rsp + 0x127], eax
mov word [rsp + 0x12b], ax
mov byte [rsp + 0x12d], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x83cdde09312fefdb
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x110]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 3
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x110], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1e
jb 0x18001ad50
lea rcx, [rsp + 0x110]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18001adb0
mov r8, qword [rsi + 0x10]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x18001adca
mov rcx, qword [rsi]
cmp r8, rax
jne 0x18001af5d
lea rdx, [rsp + 0x110]
call sub.vcruntime140.dll_memcmp
test eax, eax
jne 0x18001af5d
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x390]
call sub.vcruntime140.dll_memset
mov r8d, 8
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x390]
call fcn.1800223c0
nop
cmp qword [rsp + 0x418], 0
jne 0x18001af1e
mov qword [rdi], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
xor r8d, r8d
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.1800111b0
nop
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800d6db8]
mov qword [rsp + rcx + 0x390], rax
mov rax, qword [rsp + 0x390]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x38c], edx
lea rax, [0x1800d5610]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x418], 0
je 0x18001aed7
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::eback_void_const___ptr64]
lea rcx, [rsp + 0x408]
cmp rax, rcx
jne 0x18001aed7
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov r8, rdx
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::setg_char____ptr64__char____ptr64__char____ptr64____ptr64]
cmp byte [rsp + 0x414], 0
je 0x18001aeee
lea rcx, [rsp + 0x398]
call fcn.180010fa0
lea rcx, [rsp + 0x398]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x438]
call qword [sym.imp.msvcp140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x18001b040
mov rdx, r15
lea rcx, [rsp + 0x390]
call fcn.180011e10
lea rcx, [rsp + 0x390]
call fcn.18001f8b0
lea rdx, [0x1800d5910]
mov rcx, rdi
call fcn.180010bb0
nop
lea rcx, [rsp + 0x390]
call fcn.18001bc90
jmp 0x18001b040
mov dword [rsp + 0x150], 0xa8a0aeaa
mov word [rsp + 0x154], 0xaabe
mov byte [rsp + 0x156], 0x30
xor eax, eax
mov qword [rsp + 0x157], rax
mov dword [rsp + 0x15f], eax
mov word [rsp + 0x163], ax
mov byte [rsp + 0x165], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x3b011daeb2205029
nop
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x150]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x1f
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x150], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jb 0x18001afb0
lea rdx, [rsp + 0x150]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b08f
lea rcx, [rsp + 0x2c8]
call fcn.180017020
test al, al
je 0x18001b030
lea rcx, [rsp + 0x2c8]
call fcn.180017260
lea rdx, [0x1800d5433]
mov rcx, rdi
call fcn.180010bb0
nop
lea rcx, [rsp + 0x2e8]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x308]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x2c8]
call fcn.1800034d0
mov rax, rdi
mov rcx, qword [rsp + 0x500]
xor rcx, rsp
call fcn.1800b2e20
add rsp, 0x510
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [rsp + 0x170], 0xcad4c2c9
mov word [rsp + 0x174], 0xd0c8
mov byte [rsp + 0x176], 0x36
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x177], xmm0
mov dword [rsp + 0x187], eax
mov word [rsp + 0x18b], ax
mov byte [rsp + 0x18d], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x7090b611c078c178
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x170]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x48
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x170], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1e
jb 0x18001b0e3
lea rdx, [rsp + 0x170]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b2bf
lea rcx, [rsp + 0x2c8]
call fcn.180017020
test al, al
je 0x18001b21b
lea rcx, [rsp + 0x2c8]
call fcn.1800170b0
test al, al
jne 0x18001b21b
mov dword [rsp + 0x1f0], 0x1c6f6b52
mov byte [rsp + 0x1f4], 0xfa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1f5], xmm0
mov qword [rsp + 0x205], rax
mov word [rsp + 0x20d], ax
mov byte [rsp + 0x20f], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0xcce6e9760eaa241f
nop
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x1f0]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x27
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x1f0], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x20
jb 0x18001b1c0
lea rdx, [rsp + 0x1f0]
jmp 0x18001b037
mov dword [rsp + 0x190], 0xe141a10
mov word [rsp + 0x194], 0xbd1d
xor eax, eax
mov qword [rsp + 0x196], rax
mov dword [rsp + 0x19e], eax
mov word [rsp + 0x1a2], ax
mov byte [rsp + 0x1a4], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0xc6439db7f46bdd17
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x190]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x5f
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x190], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x15
jb 0x18001b264
lea rdx, [rsp + 0x190]
jmp 0x18001b037
mov dword [rsp + 0xd0], 0x3c352231
mov dword [rsp + 0xd4], 0x23282c3c
mov word [rsp + 0xd8], 0x2b21
mov byte [rsp + 0xda], 0x98
xor eax, eax
mov qword [rsp + 0xdb], rax
mov dword [rsp + 0xe3], eax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x1f11561f2f7530eb
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0xd0]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x6d
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0xd0], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x17
jb 0x18001b310
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b451
lea rcx, [rsp + 0x2c8]
call fcn.180017380
mov rcx, rdi
test al, al
je 0x18001b3c8
lea rdx, [0x1800d5910]
call fcn.180010bb0
nop
lea rcx, [rsp + 0x2e8]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x308]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x2c8]
call fcn.1800034d0
mov rax, rdi
jmp 0x18001b06c
lea rdx, [0x1800d5433]
call fcn.180010bb0
nop
lea rcx, [rsp + 0x2e8]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x308]
call fcn.1800034d0
nop
lea rcx, [rsp + 0x2c8]
call fcn.1800034d0
mov rax, rdi
jmp 0x18001b06c
mov dword [rsp + 0x70], 0x68706e6a
mov dword [rsp + 0x74], 0x7e6a6a7e
mov dword [rsp + 0x78], 0x7567617a
mov byte [rsp + 0x7c], 0xca
xor eax, eax
mov qword [rsp + 0x7d], rax
mov byte [rsp + 0x85], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x82ce30214b1ccaa1
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x70]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x67
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x70], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jb 0x18001b490
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b559
lea rcx, [rsp + 0x2c8]
call fcn.180017020
test al, al
je 0x18001b030
lea rcx, [rsp + 0x2c8]
call fcn.180017110
lea rcx, [rsp + 0x2c8]
test al, al
je 0x18001b530
call fcn.180017260
test al, al
je 0x18001b030
lea rdx, [0x1800d5910]
jmp 0x18001b037
lea rdx, [rsp + 0x250]
call fcn.180016b90
nop
mov rcx, rax
call fcn.180018500
nop
lea rcx, [rsp + 0x250]
call fcn.180010a90
jmp 0x18001b030
mov dword [rsp + 0x130], 0x78704275
mov dword [rsp + 0x134], 0x497b757c
mov byte [rsp + 0x138], 0xc4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x139], xmm0
mov dword [rsp + 0x149], eax
mov byte [rsp + 0x14d], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x653a493c7ad2e062
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x130]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x52
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x130], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1e
jb 0x18001b5a6
lea rdx, [rsp + 0x130]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b78b
lea rcx, [rsp + 0x2c8]
call fcn.180017020
test al, al
je 0x18001b6db
lea rcx, [rsp + 0x2c8]
call fcn.1800170b0
test al, al
je 0x18001b6db
mov dword [rsp + 0x230], 0x8fffbfa
mov byte [rsp + 0x234], 0x62
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x235], xmm0
mov qword [rsp + 0x245], rax
mov byte [rsp + 0x24d], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x4bc522a82c324ff1
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x230]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x69
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x230], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1e
jb 0x18001b680
lea rdx, [rsp + 0x230]
jmp 0x18001b037
mov dword [rsp + 0x1b0], 0xfef08a8c
mov word [rsp + 0x1b4], 0x6189
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1b6], xmm0
mov dword [rsp + 0x1c6], eax
mov word [rsp + 0x1ca], ax
mov byte [rsp + 0x1cc], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x384dab37855d5831
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x1b0]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x57
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x1b0], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1d
jb 0x18001b730
lea rdx, [rsp + 0x1b0]
jmp 0x18001b037
mov dword [rsp + 0xf0], 0x4f4d7a42
mov dword [rsp + 0xf4], 0x7048767c
mov word [rsp + 0xf8], 0xd943
xor eax, eax
mov qword [rsp + 0xfa], rax
mov word [rsp + 0x102], ax
mov byte [rsp + 0x104], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x9db515cfd7e48163
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0xf0]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x4b
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0xf0], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x15
jb 0x18001b7e0
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001bb0c
lea rdx, [rsp + 0x2c8]
lea rcx, [rsp + 0x4e0]
call fcn.180003540
nop
lea rcx, [rsp + 0x4e0]
call fcn.180017020
test al, al
je 0x18001baea
lea rcx, [rsp + 0x4e0]
call fcn.1800170b0
test al, al
je 0x18001baea
lea rcx, [rsp + 0x4b0]
call fcn.18001fd00
nop
lea rdx, [rsp + 0x4e0]
lea rcx, [rsp + 0x4a0]
call fcn.1800043c0
nop
lea rcx, [rsp + 0x350]
call fcn.180004610
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x288]
call fcn.1800090a0
mov rdx, rax
lea rcx, [rsp + 0x350]
call fcn.180004510
nop
lea rcx, [rsp + 0x380]
call fcn.180004610
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x298]
call fcn.1800090a0
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.180004590
nop
mov rax, qword [rsp + 0x350]
cmp rax, qword [rsp + 0x380]
je 0x18001ba90
movabs rbx, 0xfe8d6c81aeab07d3
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x4c0]
call fcn.180016b90
nop
mov dword [rsp + 0x90], 0xe1e1e8f2
mov dword [rsp + 0x94], 0xfcece0e7
mov qword [rsp + 0x98], 0x1bfcf6f3
xor eax, eax
mov word [rsp + 0xa0], ax
mov byte [rsp + 0xa2], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
nop
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x90]
add rcx, rbx
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x3b
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x90], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x13
jb 0x18001b980
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x4c0]
call fcn.180020380
cmp rax, 0xffffffffffffffff
je 0x18001ba26
lea r8, [rax + 0xb]
mov r9, 0xffffffffffffffff
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x4c0]
call fcn.180010890
mov rdx, rax
lea rcx, [rsp + 0x4c0]
call fcn.180010af0
lea rcx, [rsp + 0x2a8]
call fcn.180010a90
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x270]
call fcn.1800224f0
nop
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x4b0]
call fcn.18001f950
nop
lea rcx, [rsp + 0x270]
call fcn.18001fce0
nop
lea rcx, [rsp + 0x4c0]
call fcn.180010a90
lea rcx, [rsp + 0x350]
call fcn.180004410
mov rax, qword [rsp + 0x350]
cmp rax, qword [rsp + 0x380]
jne 0x18001b930
lea rcx, [rsp + 0x380]
call fcn.180004540
nop
lea rcx, [rsp + 0x350]
call fcn.180004540
nop
lea rcx, [rsp + 0x4a0]
call fcn.180004540
mov rdx, rdi
lea rcx, [rsp + 0x4b0]
call fcn.18001fa20
nop
lea rcx, [rsp + 0x4b0]
call fcn.18001fce0
nop
lea rcx, [rsp + 0x4e0]
call fcn.1800034d0
jmp 0x18001b040
lea rdx, [0x1800d5910]
mov rcx, rdi
call fcn.180010bb0
nop
lea rcx, [rsp + 0x4e0]
call fcn.1800034d0
jmp 0x18001b040
mov dword [rsp + 0x50], 0xb8a6b4b7
mov dword [rsp + 0x54], 0x505a5659
mov dword [rsp + 0x58], 0x50514055
mov word [rsp + 0x5c], 0x5141
mov byte [rsp + 0x5e], 0xee
xor eax, eax
mov qword [rsp + 0x5f], rax
mov word [rsp + 0x67], ax
mov byte [rsp + 0x69], al
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
movabs r9, 0x3824f6b52282e5fc
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rsp + rax + 0x50]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x1c
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x50], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1a
jb 0x18001bb60
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.1800118c0
test al, al
je 0x18001b030
lea rdx, [rsp + 0x2c8]
mov rcx, qword [sym.imp.msvcp140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180022250
lea rdx, [0x180011dd0]
mov rcx, rax
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_istream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x2c8]
call fcn.180016b90
mov rcx, rax
call fcn.180018ad0
test al, al
jne 0x18001b030
lea rdx, [0x1800d5920]
mov rcx, qword [sym.imp.msvcp140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180011c00
lea rdx, [0x180011dd0]
mov rcx, rax
call qword [sym.imp.msvcp140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___class_std::basic_istream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_istream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, [0x1800d5910]
jmp 0x18001b037
call fcn.180002b10
int3
mov ecx, eax
call fcn.180002ec0
int3
mov ecx, eax
call fcn.180002ec0
nop
call fcn.180002b10
int3
mov ecx, eax
call fcn.180002ec0
int3
mov ecx, eax
call fcn.180002ec0
nop
lea r8, [rsp + 0x2c8]
lea rdx, [rsp + 0x360]
lea rcx, [0x1800d579c]
call fcn.180016dd0
int3
call fcn.180011570
int3