Function at 0x4a6200
Capabilities:
Move file

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
push edi
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
fstp dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x13], 0
cmp byte [esp + 0x2c], 0
mov esi, dword [esp + 0x24]
je 0x4a623b
push 0x80
push esi
call fcn.004a58b0
add esp, 8
cmp byte [esp + 0x34], 0
je 0x4a625d
push ebx
call fcn.004a5760
add esp, 4
test al, al
je 0x4a625d
push 0x80
push ebx
call fcn.004a58b0
add esp, 8
xor edi, edi
cmp byte [esp + 0x30], 0
je 0x4a626b
mov edi, 2
cmp byte [esp + 0x34], 0
je 0x4a6275
or edi, 1
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
fstp dword [esp + 0x1c]
cmp dword [esp + 0x3c], 0
mov eax, 8
lea ebp, [ebx + 4]
je 0x4a62cd
cmp dword [ebx + 0x18], eax
jb 0x4a62a0
mov ecx, dword [ebp]
jmp 0x4a62a2
mov ecx, ebp
cmp dword [esi + 0x18], eax
mov esi, dword [esp + 0x24]
jb 0x4a62b3
mov eax, dword [esi + 4]
add esi, 4
jmp 0x4a62b8
add esi, 4
mov eax, esi
mov edx, dword [esp + 0x3c]
push edi
push edx
push 0x4a60e0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileWithProgressW]
jmp 0x4a6331
test edi, edi
je 0x4a6307
cmp dword [ebx + 0x18], eax
jb 0x4a62db
mov ecx, dword [ebp]
jmp 0x4a62dd
mov ecx, ebp
cmp dword [esi + 0x18], eax
mov esi, dword [esp + 0x24]
jb 0x4a62f7
mov eax, dword [esi + 4]
push edi
add esi, 4
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x4a6331
push edi
add esi, 4
mov eax, esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x4a6331
cmp dword [ebx + 0x18], eax
jb 0x4a6311
mov ecx, dword [ebp]
jmp 0x4a6313
mov ecx, ebp
cmp dword [esi + 0x18], eax
mov esi, dword [esp + 0x24]
jb 0x4a6324
mov eax, dword [esi + 4]
add esi, 4
jmp 0x4a6329
add esi, 4
mov eax, esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov edi, eax
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
fstp dword [esp + 0x14]
test edi, edi
jne 0x4a6446
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
fsub dword [esp + 0x18]
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4a658d
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4a658d
cmp edi, 5
je 0x4a639f
cmp edi, 0x20
jne 0x4a658d
cmp byte [esp + 0x13], 0
jne 0x4a640e
fstp st(0)
call fcn.004895c0
test al, al
jne 0x4a6405
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4a6405
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
cmp dword [ebx + 0x18], 8
jb 0x4a63da
mov ebp, dword [ebp]
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x18], 8
jb 0x4a63e6
mov esi, dword [esi]
mov edx, dword [eax]
push ebp
push esi
push edi
push str.Failed_to_move_file__wait__error:__i__file:__S__newFile:__S
push 0xa6
push str.E:PnzBsPnzBsTempFBCVersion037_00SrcPnzCodeUtilsPnzFile.cpp
push 0
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0x20
fld dword [esp + 0x38]
mov byte [esp + 0x13], 1
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp qword [0x6916b0]
fnstsw ax
test ah, 0x41
jne 0x4a6431
fld dword [0x691310]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.004a49a0
add esp, 4
jmp 0x4a6222
fld dword [esp + 0x14]
fsub dword [esp + 0x1c]
fstp dword [esp + 0x34]
fld dword [0x6989d8]
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 0x41
jp 0x4a6583
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x14]
cmp eax, 2
jbe 0x4a6583
cmp dword [ebx + 0x14], 2
jbe 0x4a6583
test eax, eax
ja 0x4a648a
call fcn.005ef184
mov ebp, dword [esp + 0x24]
mov esi, 8
cmp dword [ebp + 0x18], esi
jb 0x4a64a0
mov edi, dword [ebp + 4]
add ebp, 4
jmp 0x4a64a5
add ebp, 4
mov edi, ebp
cmp dword [ebx + 0x14], 0
ja 0x4a64b0
call fcn.005ef184
cmp dword [ebx + 0x18], esi
lea esi, [ebx + 4]
jb 0x4a64bc
mov eax, dword [esi]
jmp 0x4a64be
mov eax, esi
mov dx, word [edi]
cmp dx, word [eax]
jne 0x4a6583
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x14], 1
ja 0x4a64d9
call fcn.005ef184
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x18], 8
jb 0x4a64e8
mov eax, dword [ebp]
jmp 0x4a64ea
mov eax, ebp
mov edi, 0x3a
cmp word [eax + 2], di
jne 0x4a6583
cmp dword [ebx + 0x14], 1
ja 0x4a6504
call fcn.005ef184
cmp dword [ebx + 0x18], 8
jb 0x4a650e
mov eax, dword [esi]
jmp 0x4a6510
mov eax, esi
cmp word [eax + 2], di
jne 0x4a6583
call fcn.004895c0
test al, al
jne 0x4a6583
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4a6583
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
mov ecx, 8
cmp dword [ebx + 0x18], ecx
jb 0x4a654b
mov esi, dword [esi]
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x18], ecx
jb 0x4a6559
mov ecx, dword [ebp]
jmp 0x4a655b
mov ecx, ebp
fld dword [esp + 0x34]
mov edx, dword [eax]
push esi
push ecx
sub esp, 8
fstp qword [esp]
push str.File_operation_is_too_long__move_._Time:__.2f_s__file:__S__newFile:__S
push 0x95
push str.E:PnzBsPnzBsTempFBCVersion037_00SrcPnzCodeUtilsPnzFile.cpp
push 1
push eax
mov eax, dword [edx + 0x10]
call eax
add esp, 0x24
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x10
ret
fstp st(0)
call fcn.004895c0
test al, al
jne 0x4a65fa
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4a65fa
call fcn.004895a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
mov esi, 8
cmp dword [ebx + 0x18], esi
jb 0x4a65c7
mov edx, dword [ebx + 4]
jmp 0x4a65ca
lea edx, [ebx + 4]
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x18], esi
jb 0x4a65d8
mov ecx, dword [ecx + 4]
jmp 0x4a65db
add ecx, 4
mov esi, dword [eax]
push edx
push ecx
mov ecx, dword [esi + 0x10]
push edi
push str.Failed_to_move_file__error:__i__file:__S__newFile:__S
push 0xb4
push str.E:PnzBsPnzBsTempFBCVersion037_00SrcPnzCodeUtilsPnzFile.cpp
push 2
push eax
call ecx
add esp, 0x20
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x10
ret