Function at 0x14001d920
Capabilities:
Move file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xa8
mov rax, qword [0x1400ca008]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, r8
mov dword [rsp + 0x40], edx
mov r8, qword [rcx + 8]
or rax, 0xffffffffffffffff
mov r14, rcx
mov rcx, rax
nop word [rax + rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x14001d960
mov rdx, qword [r14 + 0x10]
nop
cmp byte [rdx + rax + 1], 0
lea rax, [rax + 1]
jne 0x14001d970
lea edi, [rax + 0x41]
mov esi, 1
add edi, ecx
mov edx, edi
cmove edx, esi
mov r15d, edi
xor ecx, ecx
call fcn.140088978
mov rbp, rax
test rax, rax
je 0x14001e0c5
test edi, edi
mov qword [rsp + 0xf8], r12
mov edx, r15d
cmove edx, esi
xor ecx, ecx
call fcn.140088978
mov r12, rax
test rax, rax
je 0x14001e0e7
mov rax, qword [r14 + 0x10]
lea r8, str._s_s
mov r9, qword [r14 + 8]
mov edx, r15d
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa0], r13
call fcn.14005e600
mov rdx, r12
mov rax, rbp
test edi, edi
je 0x14001da20
lea r8, [rdi - 1]
test r8, r8
je 0x14001da1b
nop dword [rax]
movzx ecx, byte [rax]
inc rax
mov byte [rdx], cl
inc rdx
test cl, cl
je 0x14001da16
sub r8, rsi
jne 0x14001da00
jmp 0x14001da1b
test r8, r8
jne 0x14001da2a
mov byte [rdx], 0
nop
movzx ecx, byte [rax]
inc rax
test cl, cl
jne 0x14001da20
sub eax, ebp
mov esi, edi
dec eax
sub esi, eax
mov r13d, eax
lea eax, [rdi - 1]
mov dword [rsp + 0x50], esi
add rax, r12
add r13, r12
mov qword [rsp + 0x58], rax
mov byte [rax], 0
movzx r8d, byte [r14 + 0x20]
lea eax, [r8 - 1]
cmp eax, 0xfe
ja case.0x14001da79.7
lea rcx, [0x140000000]
cdqe
movzx eax, byte [rcx + rax + 0x1e14c]
mov edx, dword [rcx + rax*4 + 0x1e12c]
add rdx, rcx
jmp rdx
call sub.KERNEL32.dll_GetCurrentProcessId
mov edx, esi
lea r8, str._c_ld
mov r9d, gethostbyaddr
mov dword [r14 + 0x18], eax
mov rcx, r13
mov dword [r14 + 0x1c], 0
mov dword [rsp + 0x20], eax
call fcn.14005e600
jmp case.0x14001da79.255
test rbx, rbx
je 0x14001dab6
mov rax, qword [rbx]
jmp 0x14001dabd
xor ecx, ecx
call fcn.140080c84
mov ecx, dword [rsp + 0x40]
add rax, 0x3aa7e80
sub ecx, eax
mov r9d, 0
add rcx, rax
mov eax, 0
sets al
neg eax
movsxd r8, eax
movabs rax, 0xc22e450672894ab7
mov rdx, r8
xor rdx, rcx
mul rdx
mov r10, rdx
shr r10, 0x10
xor r10d, r8d
imul eax, r10d, 0x15180
sub ecx, eax
mov eax, 0x88888889
sets r9b
add r10d, 0xa955c
neg r9d
mov r8d, r9d
xor r8d, ecx
lea rcx, [rsp + 0x40]
mul r8d
mov eax, 0x88888889
shr edx, 5
mul edx
mov eax, 0xaaaaaaab
shr edx, 5
mul edx
shr edx, 4
xor edx, r9d
add edx, r10d
call fcn.14005c610
movzx ebx, byte [rsp + 0x45]
lea r8, str._c_04d_02d_02d
movzx edi, byte [rsp + 0x44]
mov r9d, gethostbyaddr
movzx esi, word [rsp + 0x40]
mov rcx, r13
mov edx, dword [rsp + 0x50]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
call fcn.14005e600
lea r8d, [rbx - 1]
lea edx, [rdi - 1]
lea ecx, [rsi - 1]
call fcn.14005c8d0
sub eax, 0xa955b
imul eax, eax, 0x15180
mov dword [r14 + 0x18], eax
add eax, 0x15180
mov dword [r14 + 0x1c], eax
jmp case.0x14001da79.255
test rbx, rbx
je 0x14001dbb2
mov rax, qword [rbx]
jmp 0x14001dbb9
xor ecx, ecx
call fcn.140080c84
mov ecx, dword [rsp + 0x40]
lea rdx, [rsp + 0x40]
add rax, 0x3aa7e80
sub ecx, eax
add rcx, rax
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x50]
call fcn.14005cb90
movzx edi, byte [rsp + 0x52]
lea r8, str._c_04dw_02d
movzx ebx, word [rsp + 0x50]
mov r9d, gethostbyaddr
mov dword [rsp + 0x28], edi
mov rcx, r13
mov edx, esi
mov dword [rsp + 0x20], ebx
call fcn.14005e600
dec ebx
lea r10, [0x140000000]
mov r9d, ebx
mov ecx, ebx
shr r9d, 0x1f
mov eax, 0x51eb851f
neg r9d
xor ecx, r9d
mul ecx
shr edx, 5
xor edx, r9d
imul eax, edx, 0x64
lea r8d, [rdx*2 + 1]
add r8d, edx
sub ebx, eax
mov eax, r8d
and eax, 3
imul ecx, ebx, 0xd0b7
xor r8d, r9d
shr r8d, 2
xor r8d, r9d
movzx eax, word [r10 + rax*2 + 0xa7b70]
add r8d, edi
add ecx, eax
imul eax, edx, 0x1461
shr ecx, 0xa
add r8d, ecx
add eax, r8d
imul eax, eax, 0x93a80
add eax, 0xc0f4d00
mov dword [r14 + 0x18], eax
add eax, 0x93a80
mov dword [r14 + 0x1c], eax
jmp case.0x14001da79.255
test rbx, rbx
je 0x14001dc94
mov rax, qword [rbx]
jmp 0x14001dc9b
xor ecx, ecx
call fcn.140080c84
mov ecx, dword [rsp + 0x40]
add rax, 0x3aa7e80
sub ecx, eax
mov r9d, 0
add rcx, rax
mov eax, 0
sets al
neg eax
movsxd r8, eax
movabs rax, 0xc22e450672894ab7
mov rdx, r8
xor rdx, rcx
mul rdx
mov r10, rdx
shr r10, 0x10
xor r10d, r8d
imul eax, r10d, 0x15180
sub ecx, eax
mov eax, 0x88888889
sets r9b
add r10d, 0xa955c
neg r9d
mov r8d, r9d
xor r8d, ecx
lea rcx, [rsp + 0x40]
mul r8d
mov eax, 0x88888889
shr edx, 5
mul edx
mov eax, 0xaaaaaaab
shr edx, 5
mul edx
shr edx, 4
xor edx, r9d
add edx, r10d
call fcn.14005c610
movzx esi, byte [rsp + 0x44]
lea r8, str._c_04d_02d
movzx ebx, word [rsp + 0x40]
mov r9d, gethostbyaddr
mov edx, dword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
call fcn.14005e600
lea edx, [rsi - 1]
xor r8d, r8d
lea ecx, [rbx - 1]
call fcn.14005c8d0
sub eax, 0xa955b
lea ecx, [rbx - 1]
imul eax, eax, 0x15180
inc sil
movzx edx, sil
xor r8d, r8d
dec edx
mov dword [r14 + 0x18], eax
call fcn.14005c8d0
sub eax, 0xa955b
imul eax, eax, 0x15180
mov dword [r14 + 0x1c], eax
jmp case.0x14001da79.255
test rbx, rbx
je 0x14001dda0
mov rax, qword [rbx]
jmp 0x14001dda7
xor ecx, ecx
call fcn.140080c84
mov ecx, dword [rsp + 0x40]
add rax, 0x3aa7e80
sub ecx, eax
mov r9d, 0
add rcx, rax
mov eax, 0
sets al
neg eax
movsxd r8, eax
movabs rax, 0xc22e450672894ab7
mov rdx, r8
xor rdx, rcx
mul rdx
mov r10, rdx
shr r10, 0x10
xor r10d, r8d
imul eax, r10d, 0x15180
sub ecx, eax
mov eax, 0x88888889
sets r9b
add r10d, 0xa955c
neg r9d
mov r8d, r9d
xor r8d, ecx
lea rcx, [rsp + 0x40]
mul r8d
mov eax, 0x88888889
shr edx, 5
mul edx
mov eax, 0xaaaaaaab
shr edx, 5
mul edx
shr edx, 4
xor edx, r9d
add edx, r10d
call fcn.14005c610
movzx edi, word [rsp + 0x40]
lea r8, str._c_04d
mov edx, esi
mov r9d, gethostbyaddr
mov rcx, r13
mov dword [rsp + 0x20], edi
call fcn.14005e600
lea ecx, [rdi - 1]
xor r8d, r8d
xor edx, edx
call fcn.14005c8d0
sub eax, 0xa955b
inc di
imul eax, eax, 0x15180
xor r8d, r8d
movzx ecx, di
xor edx, edx
dec ecx
mov dword [r14 + 0x18], eax
call fcn.14005c8d0
sub eax, 0xa955b
imul eax, eax, 0x15180
mov dword [r14 + 0x1c], eax
jmp case.0x14001da79.255
mov eax, 0xc22e4507
lea r8, str._ca_08ld
mul dword [0x1400d5f14]
mov r9d, gethostbyaddr
shr edx, 0x10
imul ecx, edx, 0x15180
mov edx, esi
mov dword [r14 + 0x18], ecx
mov dword [rsp + 0x20], ecx
lea eax, [rcx + 0x15180]
mov rcx, r13
mov dword [r14 + 0x1c], eax
call fcn.14005e600
jmp case.0x14001da79.255
mov r9, rbp
lea rdx, str.unsupported_file_generations_type__d_for___s____reverting_to_FILEGEN_NONE
mov ecx, 3
call fcn.14005c0d0
mov byte [r14 + 0x20], 0xff
mov rax, qword [rsp + 0x58]
mov r13, qword [rsp + 0xa0]
cmp byte [rax], 0
je 0x14001df12
mov r8, r12
mov byte [rax], 0
lea rdx, str.logfile_name_truncated:___s_
mov ecx, 3
call fcn.14005c0d0
cmp byte [r14 + 0x20], 0xff
je 0x14001e032
lea rdx, [rsp + 0x60]
mov rcx, rbp
call fcn.140083640
test eax, eax
jne 0x14001e014
movzx ecx, word [rsp + 0x66]
mov edx, 0xf000
movzx eax, cx
and ax, dx
mov edx, 0x8000
cmp ax, dx
jne 0x14001dffa
cmp word [rsp + 0x68], 1
jg 0x14001dfe5
test r15, r15
mov rdx, r15
mov ebx, 1
cmove rdx, rbx
xor ecx, ecx
call fcn.140088978
mov rdi, rax
test rax, rax
je 0x14001e109
mov eax, dword [0x1400d0934]
mov ebx, eax
inc eax
mov dword [0x1400d0934], eax
call sub.KERNEL32.dll_GetCurrentProcessId
mov dword [rsp + 0x30], ebx
lea r8, str._s_c_dC_lu
mov dword [rsp + 0x28], eax
mov r9, rbp
mov rdx, r15
mov dword [rsp + 0x20], gethostbyaddr
mov rcx, rdi
call fcn.14005e600
mov rdx, rdi
mov rcx, rbp
call fcn.140082bc4
test eax, eax
je 0x14001dfdb
mov r8, rbp
lea rdx, str.couldnt_save__s:__m
mov ecx, 3
call fcn.14005c0d0
mov rcx, rdi
call fcn.140078220
jmp 0x14001e032
mov rcx, rbp
call fcn.140082b70
test eax, eax
je 0x14001e032
lea rdx, str.couldnt_unlink__s:__m
jmp 0x14001e025
movzx r9d, cx
lea rdx, str.expected_regular_file_for__s__found_mode_0_lo_
mov ecx, 3
mov r8, rbp
call fcn.14005c0d0
jmp 0x14001e032
call fcn.1400808e8
cmp dword [rax], 2
je 0x14001e032
lea rdx, str.stat__s__failed:__m
mov r8, rbp
mov ecx, 3
call fcn.14005c0d0
lea rdx, [0x1400b0664]
mov rcx, r12
call fcn.14008026c
mov rbx, rax
test rax, rax
jne 0x14001e067
call fcn.1400808e8
cmp dword [rax], 2
je 0x14001e08d
mov r8, r12
lea rdx, str.cant_open__s:__m
lea ecx, [rbx + 3]
call fcn.14005c0d0
jmp 0x14001e08d
mov rcx, qword [r14]
test rcx, rcx
je 0x14001e07b
call fcn.140081584
mov qword [r14], 0
test byte [r14 + 0x21], 1
mov qword [r14], rbx
je 0x14001e08d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbp
call fcn.140078220
mov rcx, r12
call fcn.140078220
mov r12, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140073c20
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r8d, r15d
mov dword [0x1400d1b14], esi
lea rdx, str.fatal_out_of_memory___lu_bytes_
mov ecx, 3
call fcn.14005c0d0
mov ecx, esi
call fcn.1400786ac
int3
mov r8d, r15d
mov dword [0x1400d1b14], esi
lea rdx, str.fatal_out_of_memory___lu_bytes_
mov ecx, 3
call fcn.14005c0d0
mov ecx, esi
call fcn.1400786ac
int3
mov r8d, r15d
mov dword [0x1400d1b14], ebx
lea rdx, str.fatal_out_of_memory___lu_bytes_
mov ecx, 3
call fcn.14005c0d0
mov ecx, ebx
call fcn.1400786ac
int3