Function at 0x1001c960
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1004f81a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push esi
push edi
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
mov esi, dword [ebp + 8]
lea eax, [esp + 0x54]
push eax
push esi
mov dword [esp + 0xc4], 0
call sym.KwLib.dll_int___cdecl_KwLib::Dir::GetFilePath_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 8
test eax, eax
jne 0x1001c9c5
xor esi, esi
jmp 0x1001cc20
push dword [ebp + 0xc]
lea edx, [esp + 0x58]
lea ecx, [esp + 0x40]
call fcn.10004ac0
add esp, 4
mov byte [esp + 0xbc], 1
mov eax, dword [0x1006e3e8]
cmp eax, 0xffffffff
jne 0x1001ca27
lea eax, [esp + 0x9c]
push eax
push 0xd698
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1001ca1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x1001ca1d
mov dword [0x1006e3e8], 0x3a8
mov eax, 0x3a8
jmp 0x1001ca27
mov eax, 0xd698
mov dword [0x1006e3e8], eax
push eax
mov edx, esi
lea ecx, [esp + 0x70]
call fcn.10008690
add esp, 4
mov edx, eax
mov byte [esp + 0xbc], 2
cmp dword [edx + 0x14], 8
jb 0x1001ca48
mov edx, dword [edx]
xor eax, eax
mov dword [esp + 0x20], 7
mov dword [esp + 0x1c], 0
mov word [esp + 0xc], ax
cmp word [edx], ax
jne 0x1001ca68
xor ecx, ecx
jmp 0x1001ca7f
mov ecx, edx
lea esi, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001ca70
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x14]
call fcn.100026d0
mov byte [esp + 0xbc], 4
cmp dword [esp + 0x80], 8
jb 0x1001caa5
push dword [esp + 0x6c]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
mov word [esp + 0x6c], ax
mov eax, dword [0x1006e3e8]
mov dword [esp + 0x7c], 0
cmp eax, 0xffffffff
jne 0x1001cb06
lea eax, [esp + 0x9c]
push eax
push 0xd698
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1001cafc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x1001cafc
mov dword [0x1006e3e8], 0x3a8
mov eax, 0x3a8
jmp 0x1001cb06
mov eax, 0xd698
mov dword [0x1006e3e8], eax
push eax
lea edx, [esp + 0x40]
lea ecx, [esp + 0x88]
call fcn.10008690
add esp, 4
mov edx, eax
mov byte [esp + 0xbc], 5
cmp dword [edx + 0x14], 8
jb 0x1001cb2c
mov edx, dword [edx]
xor eax, eax
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
cmp word [edx], ax
jne 0x1001cb4c
xor ecx, ecx
jmp 0x1001cb60
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001cb51
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.100026d0
cmp dword [esp + 0x98], 8
jb 0x1001cb81
push dword [esp + 0x84]
call edi
add esp, 4
cmp dword [esp + 0x38], 8
lea ecx, [esp + 0x24]
lea eax, [esp + 0xc]
cmovae ecx, dword [esp + 0x24]
cmp dword [esp + 0x20], 8
push ecx
cmovae eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov esi, eax
neg esi
sbb esi, esi
neg esi
cmp dword [esp + 0x38], 8
jb 0x1001cbbd
push dword [esp + 0x24]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0x38], 7
cmp dword [esp + 0x20], 8
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
jb 0x1001cbe4
push dword [esp + 0xc]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0x20], 7
cmp dword [esp + 0x50], 0x10
mov dword [esp + 0x1c], 0
mov word [esp + 0xc], ax
jb 0x1001cc0b
push dword [esp + 0x3c]
call edi
add esp, 4
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
cmp dword [esp + 0x68], 0x10
jb 0x1001cc30
push dword [esp + 0x54]
call edi
add esp, 4
mov ecx, dword [esp + 0xb4]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret