Function at 0x14002fe60
Capabilities:
Delete file
Move file

Disassembly:
push rbx
push rsi
push r15
mov eax, reloc.SSLEAY32.dll_Ordinal_48
call fcn.14004f210
sub rsp, rax
xor esi, esi
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], r12
mov eax, esi
mov r12, rdx
mov qword [rsp + 0x68], r14
mov r15, rcx
mov r8, rcx
cmp byte [rcx], al
je reloc.LIBEAY32.dll_Ordinal_255
cmp eax, reloc.LIBEAY32.dll_Ordinal_255
jae reloc.LIBEAY32.dll_Ordinal_255
inc r8
inc eax
cmp byte [r8], sil
jne reloc.LIBEAY32.dll_Ordinal_255
btr eax, 0x1f
mov rcx, r12
lea ebp, [rax + 1]
mov eax, esi
cmp byte [rdx], al
je reloc.LIBEAY32.dll_Ordinal_255
cmp eax, reloc.LIBEAY32.dll_Ordinal_255
jae reloc.LIBEAY32.dll_Ordinal_255
inc rcx
inc eax
cmp byte [rcx], sil
jne reloc.LIBEAY32.dll_Ordinal_255
btr eax, 0x1f
mov qword [rsp + 0x58], rdi
inc eax
mov r14d, eax
lea rcx, [rax + rbp]
add rcx, rcx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je reloc.LIBEAY32.dll_Ordinal_255
mov dword [rsp + 0x28], ebp
lea rdi, [rax + rbp*2]
mov r9d, ebp
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne reloc.LIBEAY32.dll_Ordinal_255
mov rcx, rsi
test rbp, rbp
je reloc.LIBEAY32.dll_Ordinal_255
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx + r15]
mov word [rbx + rcx*2], ax
inc rcx
cmp rcx, rbp
jb reloc.LIBEAY32.dll_Ordinal_255
mov dword [rsp + 0x28], r14d
mov r9d, r14d
mov r8, r12
mov qword [rsp + 0x20], rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne reloc.LIBEAY32.dll_Ordinal_255
mov rcx, rsi
test r14, r14
je reloc.LIBEAY32.dll_Ordinal_255
nop word [rax + rax]
movsx eax, byte [rcx + r12]
mov word [rdi + rcx*2], ax
inc rcx
cmp rcx, r14
jb reloc.LIBEAY32.dll_Ordinal_255
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne reloc.LIBEAY32.dll_Ordinal_255
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
cmp eax, 0xb7
je reloc.LIBEAY32.dll_Ordinal_255
cmp eax, 0x50
jne reloc.LIBEAY32.dll_Ordinal_255
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je reloc.LIBEAY32.dll_Ordinal_255
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne reloc.LIBEAY32.dll_Ordinal_255
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea eax, [rcx - 2]
cmp eax, 1
jbe reloc.LIBEAY32.dll_Ordinal_255
cmp ecx, 5
jne reloc.LIBEAY32.dll_Ordinal_255
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.LIBEAY32.dll_Ordinal_13
jmp reloc.LIBEAY32.dll_Ordinal_255
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.SSLEAY32.dll_Ordinal_22
jmp reloc.LIBEAY32.dll_Ordinal_255
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 2
or esi, reloc.LIBEAY32.dll_Ordinal_255
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
test rbx, rbx
je reloc.LIBEAY32.dll_Ordinal_255
cmp rbx, r15
je reloc.LIBEAY32.dll_Ordinal_255
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, esi
add rsp, 0x30
pop r15
pop rsi
pop rbx
ret