Function at 0x140003520
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5b8]
sub rsp, 0x690
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x560], rax
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
movdqa xmm7, xmmword [0x14000a9a0]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x140003580
mov rbx, qword [rcx]
call fcn.140007814
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rdi
lea r8, [rbp + 0x40]
mov edx, eax
lea rcx, [rbp + 0x150]
call fcn.1400019a0
mov ebx, 0x300000
mov dword [rsp + 0x30], ebx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x2e0], xmm0
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x2e0]
call fcn.140005a60
test eax, eax
jne 0x140004637
mov rdx, qword [rbp + 0x168]
cmp rdx, 7
jbe 0x140003617
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003612
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003612
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007f0c
xorps xmm0, xmm0
movups xmmword [rbp + 0x310], xmm0
mov rsi, qword [rbp + 0x2e8]
test rsi, rsi
je 0x14000363c
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x2e8]
mov ebx, dword [rsp + 0x30]
movaps xmm0, xmmword [rbp + 0x2e0]
movdqa xmmword [rbp + 0x310], xmm0
test rsi, rsi
je 0x14000365f
lock inc dword [rsi + 8]
mov rsi, qword [rbp + 0x2e8]
mov ebx, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x330], xmm1
mov r15d, 0xffffffff
test rsi, rsi
je 0x1400036bb
mov eax, r15d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400036b0
mov rbx, qword [rbp + 0x2e8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400036b0
mov rsi, qword [rbp + 0x2e8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
jmp 0x1400036b7
mov rsi, qword [rbp + 0x2e8]
mov ebx, dword [rsp + 0x30]
lea r13, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
lea r14, [0x14000a73c]
mov rdi, qword [rbp + 0x310]
test rdi, rdi
je 0x14000457a
call fcn.140007814
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], 2
lea r8, [rbp + 0x50]
mov edx, eax
lea rcx, [rbp]
call fcn.1400019a0
or ebx, 0xc000
or ebx, 1
mov dword [rsp + 0x30], ebx
lea r14, [rdi + 0x20]
lea rdx, [rbp + 0x210]
mov rcx, r14
call fcn.1400020c0
nop
or ebx, 2
mov dword [rsp + 0x30], ebx
lea rcx, [rbp]
cmp qword [rbp + 0x18], 7
cmova rcx, qword [rbp]
mov qword [rbp + 0x60], rcx
mov rcx, qword [rbp + 0x10]
mov qword [rbp + 0x68], rcx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x250], xmm0
lea rdx, [rbp + 0x250]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, str..cpp
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], 4
lea r8, [rbp + 0x70]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400019a0
or ebx, 0x30000
or ebx, 4
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x1f0]
mov rcx, r14
call fcn.1400020c0
nop
or ebx, 8
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 7
cmova rcx, qword [rsp + 0x40]
mov qword [rbp + 0x80], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rbp + 0x88], rcx
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x240], xmm0
lea rdx, [rbp + 0x240]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, [0x14000a748]
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], 2
lea r8, [rbp + 0x90]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.1400019a0
or ebx, 0xc0000
or ebx, 0x10
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x1d0]
mov rcx, r14
call fcn.1400020c0
nop
or ebx, 0x20
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rcx, qword [rsp + 0x60]
mov qword [rbp + 0xa0], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0xa8], rcx
movaps xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x230], xmm0
lea rdx, [rbp + 0x230]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, str..hpp
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], 4
lea r8, [rbp + 0xb0]
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.1400019a0
or ebx, 0xc00000
or ebx, 0x40
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x1b0]
mov rcx, r14
call fcn.1400020c0
nop
bts ebx, 7
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova rcx, qword [rbp - 0x20]
mov qword [rbp + 0xc0], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rbp + 0xc8], rcx
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x290], xmm0
lea rdx, [rbp + 0x290]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, [0x14000a754]
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], 3
lea r8, [rbp + 0xd0]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.1400019a0
or ebx, 0x3000000
bts ebx, 8
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x130]
mov rcx, r14
call fcn.1400020c0
nop
bts ebx, 9
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
mov qword [rbp + 0xe0], rcx
mov rcx, qword [rbp - 0x70]
mov qword [rbp + 0xe8], rcx
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x260], xmm0
lea rdx, [rbp + 0x260]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, str..sln
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], 4
lea r8, [rbp + 0xf0]
mov edx, eax
lea rcx, [rbp - 0x60]
call fcn.1400019a0
or ebx, 0xc000000
bts ebx, 0xa
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x190]
mov rcx, r14
call fcn.1400020c0
nop
bts ebx, 0xb
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rcx, qword [rbp - 0x60]
mov qword [rbp + 0x100], rcx
mov rcx, qword [rbp - 0x50]
mov qword [rbp + 0x108], rcx
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x270], xmm0
lea rdx, [rbp + 0x270]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
call fcn.140007814
lea rcx, str..vcxproj
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], 8
lea r8, [rbp + 0x110]
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.1400019a0
or ebx, 0x30000000
bts ebx, 0xc
mov dword [rsp + 0x30], ebx
lea rdx, [rbp + 0x170]
mov rcx, r14
call fcn.1400020c0
bts ebx, 0xd
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova rcx, qword [rbp - 0x40]
mov qword [rbp + 0x120], rcx
mov rcx, qword [rbp - 0x30]
mov qword [rbp + 0x128], rcx
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x280], xmm0
lea rdx, [rbp + 0x280]
mov rcx, rax
call fcn.140001eb0
test eax, eax
je 0x140003b02
xor dil, dil
jmp 0x140003b05
mov dil, 1
bt ebx, 0xd
jae 0x140003b73
btr ebx, 0xd
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x188]
cmp rdx, 7
jbe 0x140003b59
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003b54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004511
call fcn.140007f0c
mov qword [rbp + 0x180], r12
mov qword [rbp + 0x188], 7
mov word [rbp + 0x170], r12w
bt ebx, 0xc
jae 0x140003bd2
btr ebx, 0xc
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x140003bc1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003bbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004518
call fcn.140007f0c
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r12w
bt ebx, 0xb
jae 0x140003c40
btr ebx, 0xb
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 7
jbe 0x140003c26
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000451f
call fcn.140007f0c
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x1a8], 7
mov word [rbp + 0x190], r12w
bt ebx, 0xa
jae 0x140003c9f
btr ebx, 0xa
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x140003c8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004526
call fcn.140007f0c
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
bt ebx, 9
jae 0x140003d0d
btr ebx, 9
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x148]
cmp rdx, 7
jbe 0x140003cf3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003cee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000452d
call fcn.140007f0c
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], 7
mov word [rbp + 0x130], r12w
bt ebx, 8
jae 0x140003d6c
btr ebx, 8
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140003d5b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003d56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004534
call fcn.140007f0c
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r12w
test bl, bl
jns 0x140003dd8
btr ebx, 7
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 7
jbe 0x140003dbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003db9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000453b
call fcn.140007f0c
mov qword [rbp + 0x1c0], r12
mov qword [rbp + 0x1c8], 7
mov word [rbp + 0x1b0], r12w
test bl, 0x40
je 0x140003e35
and ebx, 0xffffffbf
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 8]
cmp rdx, 7
jbe 0x140003e24
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004542
call fcn.140007f0c
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
test bl, 0x20
je 0x140003ea1
and ebx, 0xffffffdf
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 7
jbe 0x140003e87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004549
call fcn.140007f0c
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x1e8], 7
mov word [rbp + 0x1d0], r12w
test bl, 0x10
je 0x140003f03
and ebx, 0xffffffef
mov dword [rsp + 0x30], ebx
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x140003eef
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003eea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004550
call fcn.140007f0c
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r12w
test bl, 8
je 0x140003f6f
and ebx, 0xfffffff7
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x208]
cmp rdx, 7
jbe 0x140003f55
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003f50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004557
call fcn.140007f0c
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], 7
mov word [rbp + 0x1f0], r12w
test bl, 4
je 0x140003fd1
and ebx, 0xfffffffb
mov dword [rsp + 0x30], ebx
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140003fbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003fb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000455e
call fcn.140007f0c
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
test bl, 2
je 0x14000403d
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x228]
cmp rdx, 7
jbe 0x140004023
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000401e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004565
call fcn.140007f0c
mov qword [rbp + 0x220], r12
mov qword [rbp + 0x228], 7
mov word [rbp + 0x210], r12w
test bl, 1
je 0x140004089
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x140004089
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004084
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000456c
call fcn.140007f0c
test dil, dil
je 0x1400044d1
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x340]
call sub.VCRUNTIME140.dll_memset
mov rdx, r14
lea rcx, [rbp + 0x340]
call fcn.140005c00
nop
cmp qword [rbp + 0x3d0], 0
je 0x140004418
mov qword [rbp + 0x30], r12
mov word [rbp + 0x38], 1
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x388]
mov qword [rbp + 0x20], rcx
test rcx, rcx
sete byte [rbp + 0x28]
mov byte [rbp + 0x29], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
mov qword [rbp + 0x300], r12
mov qword [rbp + 0x308], r12
movaps xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x320], xmm0
movaps xmm6, xmmword [rbp + 0x30]
test rcx, rcx
je 0x14000415e
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 0x140004144
mov byte [rbp + 0x329], al
mov rax, qword [rbp + 0x320]
mov byte [rbp + 0x328], 1
movaps xmm0, xmmword [rbp + 0x320]
jmp 0x140004163
mov rax, r12
mov qword [rbp + 0x320], rax
mov byte [rbp + 0x328], 1
movaps xmm0, xmmword [rbp + 0x320]
jmp 0x140004163
movq rax, xmm0
test rax, rax
movq rax, xmm6
jne 0x1400044ea
test rax, rax
je 0x1400044f3
movdqa xmmword [rbp + 0x2a0], xmm6
movdqa xmmword [rbp + 0x2b0], xmm0
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0x2f0]
call fcn.140007180
nop
lea rcx, [rbp + 0x350]
call fcn.1400057a0
test rax, rax
jne 0x1400041d8
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x340]
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]
lea rax, [rbp + 0x2f0]
cmp qword [rbp + 0x308], 0xf
seta r9b
cmova rax, qword [rbp + 0x2f0]
lea rdx, [rbp + 0x2f0]
test r9b, r9b
cmovne rdx, qword [rbp + 0x2f0]
mov r8, qword [rbp + 0x300]
add r8, rdx
mov rdx, r12
mov rcx, r8
sub rcx, rax
cmp rax, r8
cmova rcx, r12
test rcx, rcx
je 0x14000427f
cmp rcx, 0x40
jb 0x14000427f
and rcx, 0xffffffffffffffc0
nop
movdqu xmm0, xmmword [rax]
movdqa xmm1, xmm7
xorps xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + 0x10]
movdqa xmm1, xmm7
xorps xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqa xmm1, xmm7
xorps xmm1, xmm0
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm0, xmmword [rax + 0x30]
movdqa xmm1, xmm7
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
add rdx, 0x40
cmp rdx, rcx
jne 0x140004230
cmp rax, r8
je 0x14000428f
xor byte [rax], 0xf7
inc rax
cmp rax, r8
jne 0x140004284
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x450]
call sub.VCRUNTIME140.dll_memset
mov rdx, r14
lea rcx, [rbp + 0x450]
call fcn.140005d30
nop
cmp qword [rbp + 0x4d8], 0
je 0x14000431c
lea rdx, [rbp + 0x2f0]
cmp qword [rbp + 0x308], 0xf
cmova rdx, qword [rbp + 0x2f0]
mov r8, qword [rbp + 0x300]
lea rcx, [rbp + 0x450]
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, [rbp + 0x458]
call fcn.1400057a0
test rax, rax
jne 0x14000431c
mov rax, qword [rbp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x450]
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 [rbp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x450], rax
mov rax, qword [rbp + 0x450]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x44c], edx
mov qword [rbp + 0x458], r13
cmp qword [rbp + 0x4d8], 0
je 0x140004398
mov rax, qword [rbp + 0x470]
lea rcx, [rbp + 0x4c8]
cmp qword [rax], rcx
jne 0x140004398
mov rdx, qword [rbp + 0x4e8]
mov rcx, qword [rbp + 0x4e0]
mov qword [rax], rcx
mov rax, qword [rbp + 0x490]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x4a8]
mov dword [rax], edx
cmp byte [rbp + 0x4d4], 0
je 0x1400043ad
lea rcx, [rbp + 0x458]
call fcn.1400057a0
lea rcx, [rbp + 0x458]
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, [rbp + 0x460]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x4f8]
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 [rbp + 0x308]
cmp rdx, 0xf
jbe 0x140004418
inc rdx
mov rcx, qword [rbp + 0x2f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004412
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004573
call fcn.140007f0c
nop
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x340], rax
mov rax, qword [rbp + 0x340]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x33c], edx
mov qword [rbp + 0x350], r13
cmp qword [rbp + 0x3d0], 0
je 0x140004494
mov rax, qword [rbp + 0x368]
lea rcx, [rbp + 0x3c0]
cmp qword [rax], rcx
jne 0x140004494
mov rdx, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3d8]
mov qword [rax], rcx
mov rax, qword [rbp + 0x388]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x3a0]
mov dword [rax], edx
cmp byte [rbp + 0x3cc], 0
je 0x1400044a9
lea rcx, [rbp + 0x350]
call fcn.1400057a0
lea rcx, [rbp + 0x350]
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, [rbp + 0x358]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x3f0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x310]
call fcn.140002fa0
test eax, eax
jne 0x140004646
jmp 0x1400036c2
test rax, rax
je 0x14000417a
mov qword [rbp + 0x300], r12
mov qword [rbp + 0x308], 0xf
mov byte [rbp + 0x2f0], 0
jmp 0x1400041a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, qword [rbp + 0x318]
test rcx, rcx
je 0x1400045c3
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400045bc
mov rbx, qword [rbp + 0x318]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400045bc
mov rcx, qword [rbp + 0x318]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rbp + 0x2e8]
test rsi, rsi
je 0x1400045fd
mov eax, r15d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400045fd
mov rbx, qword [rbp + 0x2e8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x1400045fd
mov rcx, qword [rbp + 0x2e8]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x560]
xor rcx, rsp
call fcn.140007eb0
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r8, [rbp + 0x150]
mov edx, eax
call fcn.140002c00
nop
mov edx, eax
call fcn.140002b10
int3