Function at 0x10158f73
Capabilities:
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x101dc354]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x10], 0
xor eax, eax
and dword [ebp - 0x18], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x14], eax
mov edi, ecx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], eax
call fcn.101591f1
mov esi, eax
test esi, esi
jns 0x10158fc3
push 0x10068f64
push 1
push esi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x1015915f
mov ecx, edi
call fcn.1015b83c
test eax, eax
je 0x1015915f
mov ecx, dword [edi + 0x78]
test ecx, ecx
jne 0x10158fe1
cmp dword [edi + 0x80], ebx
jne 0x10159019
lea eax, [edi + 0x88]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
xor eax, eax
test ecx, ecx
mov ecx, dword [edi + 0x18]
sete al
push eax
call fcn.1012b621
mov esi, eax
test esi, esi
jns 0x10159011
push 0x10068f28
jmp 0x10158fae
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
jmp 0x1015901c
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
cmp dword [edi + 0x80], 0
je 0x1015902a
mov ebx, ecx
cmp dword [edi + 0x78], 0
jne 0x10159032
mov eax, ecx
test ebx, ebx
je 0x10159055
mov dword [edi + 0x70], ecx
mov ecx, edi
push eax
call fcn.1015a109
mov esi, eax
test esi, esi
jns 0x10159161
push 0x10068fbc
jmp 0x10158fae
mov ecx, dword [edi + 0x18]
call fcn.1012b12d
test al, al
je 0x10159140
and dword [ebp - 8], 0
mov ecx, edi
and dword [ebp - 0xc], 0
call fcn.101594f2
mov esi, eax
test esi, esi
jns 0x101590a4
push 0x10068f98
push 1
push esi
push 0x4000000
call fcn.100ab973
add esp, 0x10
lea ecx, [ebp - 0xc]
call fcn.100b61be
lea ecx, [ebp - 8]
call fcn.100b61be
jmp 0x1015915f
mov ecx, dword [edi + 0x18]
lea eax, [ebp - 0xc]
push eax
call fcn.101291ff
mov esi, eax
test esi, esi
jns 0x101590bd
push 0x1004a898
jmp 0x1015907f
mov edx, dword [ebp - 0xc]
lea ecx, [ebp - 8]
push 0x10069038
call fcn.100a9500
mov esi, eax
test esi, esi
jns 0x101590da
push 0x10009e0c
jmp 0x1015907f
push 1
push dword [ebp - 8]
push dword [edi + 0x94]
call dword [sym.imp.api_ms_win_core_file_l2_1_0.dll_MoveFileExW]
test eax, eax
jne 0x10159130
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x10159106
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x1015910d
mov esi, 0x80004005
push dword [ebp - 8]
push dword [edi + 0x94]
push 0x10048ce8
push 1
push esi
push 0x4000000
call fcn.100ab973
add esp, 0x18
jmp 0x1015908f
lea ecx, [ebp - 0xc]
call fcn.100b61be
lea ecx, [ebp - 8]
call fcn.100b61be
push 0x10068fe0
push 0
push 0
push 0x4000000
call fcn.100ab973
mov eax, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
je 0x1015915f
mov esi, eax
test esi, esi
jne 0x10159195
mov ecx, edi
call fcn.1015b83c
test eax, eax
je 0x101591c5
cmp dword [edi + 0x70], 0
mov esi, 0x800f081f
je 0x101591c5
cmp dword [edi + 0x84], 0
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x2a8]
jne 0x101591c5
test eax, eax
jne 0x101591e9
mov dword [edi + 0x84], esi
mov eax, 0x800f0906
cmp esi, eax
jl 0x101591c5
cmp esi, 0x800f0908
jle 0x101591b6
cmp esi, 0x800f090d
je 0x101591de
cmp esi, 0x800f0910
jne 0x101591c5
cmp dword [edi + 0x84], 0
jne 0x101591c5
mov dword [edi + 0x84], esi
lea ecx, [ebp - 0x18]
call fcn.100b61be
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b88c0
leave
ret
cmp dword [edi + 0x84], 0
mov esi, eax
jne 0x101591c5
mov dword [edi + 0x84], eax
jmp 0x101591c5