Function at 0x1400112c0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x770]
sub rsp, 0x870
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x8c0], rbx
mov rax, qword [0x14007bec0]
xor rax, rsp
mov qword [rbp + 0x760], rax
mov qword [rsp + 0x58], rdx
mov rsi, rcx
mov r13d, 1
mov qword [rbp - 0x58], 7
xor r15d, r15d
mov qword [rbp - 0x60], r15
mov word [rbp - 0x70], r15w
xor eax, eax
or r12, 0xffffffffffffffff
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp - 0x70]
call fcn.140002b60
nop
lea r8d, [r13 + 3]
lea rdx, str..tmp
lea rcx, [rbp - 0x70]
call fcn.140003410
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov eax, 2
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, r12
jne 0x1400113a7
cmp qword [rbp - 0x58], 8
jb 0x1400113a0
mov rcx, qword [rbp - 0x70]
call fcn.140033ccc
xor al, al
jmp 0x140011ed0
lea rcx, [rsp + 0x68]
call fcn.140008210
mov rdx, rax
mov r9, qword [rax + 0x10]
cmp r9, r9
cmp qword [rax + 0x18], 8
jb 0x1400113c5
mov rdx, qword [rax]
mov ebx, 0x18
mov r8d, ebx
cmp r9, rbx
cmovb r8, r9
lea rdi, str.681E_B0L3_UC27_I7QZ_H6PP
mov rcx, rdi
test r8, r8
je 0x140011406
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x1400113fa
add rdx, 2
add rcx, 2
dec r8
jne 0x1400113e3
jmp 0x140011406
mov r8d, r13d
cmp word [rdx], ax
cmovb r8d, r12d
jmp 0x140011409
mov r8d, r15d
movsxd rax, r8d
test r8d, r8d
jne 0x140011424
cmp r9, rbx
jae 0x14001141b
mov eax, r12d
jmp 0x140011424
mov eax, r15d
cmp r9, rbx
setne al
test eax, eax
sete r13b
cmp qword [rbp - 0x80], 8
jb 0x14001143b
mov rcx, qword [rsp + 0x68]
call fcn.140033ccc
mov r12d, 1
test r13b, r13b
mov eax, 2
cmovne r12d, eax
mov r9d, r12d
lea r8, str._encry_mode__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
xor r9d, r9d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
lea rcx, [rsp + 0x68]
call fcn.140008210
mov rdx, rax
mov r8, qword [rax + 0x10]
cmp r8, r8
cmp qword [rax + 0x18], 8
jb 0x14001149b
mov rdx, qword [rax]
cmp r8, 0x18
cmovb rbx, r8
test rbx, rbx
je 0x1400114d5
movzx eax, word [rdi]
cmp word [rdx], ax
jne 0x1400114bf
add rdx, 2
add rdi, 2
dec rbx
jne 0x1400114a8
jmp 0x1400114d5
mov ebx, 1
mov ecx, ebx
cmp word [rdx], ax
mov rdx, 0xffffffffffffffff
cmovb ecx, edx
jmp 0x1400114df
mov ecx, r15d
or rdx, 0xffffffffffffffff
lea ebx, [rdx + 2]
movsxd rax, ecx
test ecx, ecx
jne 0x1400114fa
cmp r8, 0x18
jae 0x1400114f0
mov eax, edx
jmp 0x1400114fa
mov eax, r15d
cmp r8, 0x18
setne al
test eax, eax
sete dil
cmp qword [rbp - 0x80], 8
jb 0x140011511
mov rcx, qword [rsp + 0x68]
call fcn.140033ccc
test dil, dil
cmovne r12d, ebx
mov rcx, qword [rsi + 0x98]
sub rcx, qword [rsi + 0x90]
movabs rax, 0x7878787878787879
imul rcx
mov rdi, rdx
sar rdi, 6
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov r9d, dword [rsi + 0x1fc]
lea r8, str._bind_num__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, edi
lea r8, str._hardware_count__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r13d, r15d
movsxd r15, edi
test edi, edi
jle 0x1400116be
xor edi, edi
mov ebx, edi
nop word [rax + rax]
mov rax, qword [rsi + 0x90]
mov r9d, dword [rbx + rax]
lea r8, str._hardware_type__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov qword [rbp - 0x30], 0xf
mov qword [rbp - 0x38], rdi
mov byte [rbp - 0x48], 0
movsxd rdx, r13d
imul rdx, rdx, 0x88
add rdx, qword [rsi + 0x90]
add rdx, 4
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x68]
call fcn.140002b60
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x68]
call fcn.140020650
lea r9, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r9, qword [rbp - 0x48]
lea r8, str._hardware_No__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
nop
cmp qword [rbp - 0x30], 0x10
jb 0x1400116a6
mov rcx, qword [rbp - 0x48]
call fcn.140033ccc
inc r13d
add rbx, 0x88
dec r15
mov edi, 0
jne 0x1400115c0
mov rcx, qword [rsi + 0xb8]
sub rcx, qword [rsi + 0xb0]
movabs rax, 0xaa392f35dc17f00b
imul rcx
lea rdi, [rcx + rdx]
sar rdi, 0xb
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov qword [rsp + 0x40], rdi
mov r9d, edi
lea r8, str._key_count__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
movsxd r13, edi
mov qword [rsp + 0x48], r13
test edi, edi
jle 0x1400117d7
xor ebx, ebx
mov r15, r13
nop word [rax + rax]
mov rcx, qword [rsi + 0xb0]
mov eax, dword [rbx + rcx + 0x404]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + rcx]
lea r8, str._unit_key__t_t_t_d_t_t_t_d_t_t_t
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
movsxd r11, eax
mov rcx, qword [rsi + 0xb0]
lea r8, [rbx + rcx + 4]
xor edx, edx
movsxd rdi, dword [rbx + rcx + 0x404]
test rdi, rdi
jle 0x1400117b2
lea rcx, [rbp + r11 + 0xd0]
add r11d, edi
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx], al
inc rcx
inc rdx
cmp rdx, rdi
jl 0x1400117a0
mov r9d, r12d
mov r8d, r11d
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
add rbx, 0xc08
dec r15
jne 0x140011740
lea rcx, [rsp + 0x50]
call fcn.140035658
lea rcx, [rsp + 0x50]
call fcn.1400354f0
mov r9, rax
lea r8, str._Y__m__d__H:_M:_S
mov edx, 0x80
lea rcx, [rbp + 0x2e0]
call fcn.1400378bc
lea r9, [rbp + 0x2e0]
lea r8, str._file_create_time__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x104]
lea r8, str._main_key_id__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov qword [rbp - 8], 0xf
xor ebx, ebx
mov qword [rbp - 0x10], rbx
mov byte [rbp - 0x20], bl
lea rdx, [rsi + 0x198]
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x68], rbx
mov word [rbp + 0x58], bx
xor eax, eax
or r15, 0xffffffffffffffff
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x58]
call fcn.140002b60
nop
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x68]
call fcn.1400030d0
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x68]
call fcn.140020650
lea r9, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r9, qword [rbp - 0x20]
lea r8, str._start_time__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov qword [rbp + 0x20], 0xf
mov qword [rbp + 0x18], rbx
mov byte [rbp + 8], bl
lea rdx, [rsi + 0x1ca]
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], rbx
mov word [rbp + 0x30], bx
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x30]
call fcn.140002b60
nop
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.1400030d0
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x68]
call fcn.140020650
lea r9, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae r9, qword [rbp + 8]
lea r8, str._end_time__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsp + 0x40]
lea r8, str._keydesc_count__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov eax, ebx
mov dword [rsp + 0x40], ebx
test r13, r13
jle 0x140011b47
mov r15d, ebx
nop word [rax + rax]
movsxd rbx, eax
imul rbx, rbx, 0xc08
mov rdx, qword [rsi + 0xb0]
lea rdi, [rdx + rbx + 0x408]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
add r13d, r13d
mov dword [rsp + 0x20], r13d
mov r9d, dword [rdx + r15]
lea r8, str._unit_keydesc__t_t_t_d_t_t_t_d_t_t_t
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
movsxd rdi, eax
mov byte [rbp + 0x360], 0
xor edx, edx
mov r8d, 0x3ff
lea rcx, [rbp + 0x361]
call fcn.140037b90
mov rdx, qword [rsi + 0xb0]
lea rbx, [rbx + rdx + 0x408]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x140011aef
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, r13d
test r13d, r13d
jle 0x140011b10
lea rcx, [rbp + rdi + 0xd0]
mov r8, rbx
lea rdx, [rbp + 0x360]
call fcn.140033fc0
add edi, ebx
mov r9d, r12d
mov r8d, edi
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
add r15, 0xc08
dec qword [rsp + 0x48]
jne 0x140011a20
xor ebx, ebx
or r15, 0xffffffffffffffff
lea rdx, [rsi + 0x108]
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x68]
call fcn.140002b60
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xa8]
call fcn.1400208c0
nop
lea r9, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0x10
cmovae r9, qword [rbp + 0xa8]
lea r8, str._producr_key__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x16c]
lea r8, str._version_type__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
lea rdx, [rsi + 0x170]
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], rbx
mov word [rbp - 0x48], bx
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp - 0x48]
call fcn.140002b60
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x80]
call fcn.1400208c0
nop
lea r9, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae r9, qword [rbp + 0x80]
lea r8, str._verification_code__t_t_t_s
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi]
lea r8, str._ver_num__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x208]
lea r8, str._text_copy__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x20c]
lea r8, str._print_control__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x210]
lea r8, str._author_superposition__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov r9d, dword [rsi + 0x214]
lea r8, str._long_time__t_t_t_d
mov edx, 0x201
lea rcx, [rbp + 0xd0]
call fcn.1400365a8
mov r9d, r12d
mov r8d, eax
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.14000e950
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140011dc9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140011dc9
shr eax, 4
not eax
and eax, 1
jne 0x140011de0
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
mov rdx, rdi
call fcn.140037b0c
nop
cmp qword [rbp + 0x98], 0x10
jb 0x140011df6
mov rcx, qword [rbp + 0x80]
call fcn.140033ccc
mov qword [rbp + 0x98], 0xf
mov qword [rbp + 0x90], rbx
mov byte [rbp + 0x80], 0
cmp qword [rbp + 0xc0], 0x10
jb 0x140011e25
mov rcx, qword [rbp + 0xa8]
call fcn.140033ccc
mov qword [rbp + 0xc0], 0xf
mov qword [rbp + 0xb8], rbx
mov byte [rbp + 0xa8], 0
cmp qword [rbp + 0x48], 8
jb 0x140011e4e
mov rcx, qword [rbp + 0x30]
call fcn.140033ccc
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], rbx
mov word [rbp + 0x30], bx
cmp qword [rbp + 0x20], 0x10
jb 0x140011e6e
mov rcx, qword [rbp + 8]
call fcn.140033ccc
mov qword [rbp + 0x20], 0xf
mov qword [rbp + 0x18], rbx
mov byte [rbp + 8], 0
cmp qword [rbp + 0x70], 8
jb 0x140011e8e
mov rcx, qword [rbp + 0x58]
call fcn.140033ccc
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x68], rbx
mov word [rbp + 0x58], bx
cmp qword [rbp - 8], 0x10
jb 0x140011eae
mov rcx, qword [rbp - 0x20]
call fcn.140033ccc
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], rbx
mov byte [rbp - 0x20], 0
cmp qword [rbp - 0x58], 8
jb 0x140011ece
mov rcx, qword [rbp - 0x70]
call fcn.140033ccc
mov al, 1
mov rcx, qword [rbp + 0x760]
xor rcx, rsp
call fcn.140033cf0
mov rbx, qword [rsp + 0x8c0]
add rsp, 0x870
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret