Function at 0x43dece
Capabilities:
Check if file exists
Move file

Disassembly:
push 0x5c0
mov eax, 0x4cc0f7
call fcn.004019a4
mov edi, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4cc], ecx
xor ebx, ebx
mov esi, 0x4ef644
mov dword [ebp - 4], ebx
mov eax, esi
cmp dword [ecx + 4], ebx
cmovne eax, dword [ecx + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43df12
mov byte [ebp - 0x4e4], 1
jmp 0x43e6b0
cmp dword [ebp + 0x10], ebx
lea ecx, [ebp - 0x4b4]
push ecx
mov eax, esi
mov esi, dword [sym.imp.KERNEL32.DLL_GetFileAttributesExW]
cmovne eax, dword [ebp + 0x10]
push ebx
push eax
call esi
mov ecx, dword [ebp - 0x4cc]
mov eax, 0x4ef644
cmp dword [ecx + 4], ebx
cmovne eax, dword [ecx + 4]
lea ecx, [ebp - 0x264]
push ecx
push ebx
push eax
call esi
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x4a0]
push eax
call dword [sym.imp.KERNEL32.DLL_CompareFileTime]
mov ecx, dword [ebp - 0x498]
xor edx, edx
mov esi, dword [ebp - 0x248]
or ecx, ebx
or edx, dword [ebp - 0x494]
or esi, ebx
mov dword [ebp - 0x4bc], eax
xor eax, eax
or eax, dword [ebp - 0x244]
cmp dword [edi + 0x9c], 0x3e9
mov dword [ebp - 0x4f4], edx
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x4fc], esi
mov dword [ebp - 0x4e4], 1
jne 0x43e503
mov eax, vtable.micro::utils::QString.0
mov dword [ebp - 0x4c4], ebx
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], ebx
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], ebx
push ecx
push edx
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 3
push str._d_bytes_
push eax
call fcn.004ba5ae
push esi
push dword [ebp - 0x4ec]
lea eax, [ebp - 0x4e0]
push str._d_bytes_
push eax
call fcn.004ba5ae
add esp, 0x18
lea edx, [ebp - 0x4d8]
lea ecx, [ebp - 0x4a0]
call fcn.004bc7e3
pop ecx
pop ecx
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x4c8]
call fcn.004ba7cf
push ecx
push ecx
lea edx, [ebp - 0x4d8]
lea ecx, [ebp - 0x250]
call fcn.004bc7e3
pop ecx
pop ecx
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x4e0]
call fcn.004ba7cf
cmp dword [ebp - 0x4dc], 0
mov eax, 0x4ef644
mov esi, eax
mov edx, eax
cmovne esi, dword [ebp - 0x4dc]
mov ecx, eax
cmp dword [ebp - 0x4c4], 0
mov eax, dword [ebp - 0x4cc]
cmovne edx, dword [ebp - 0x4c4]
push esi
push edx
cmp dword [eax + 4], 0
cmovne ecx, dword [eax + 4]
mov eax, 0x4ef644
cmp dword [ebp + 0x10], 0
push ecx
cmovne eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x5cc]
push eax
push dword [edi + 0x2c]
call fcn.0043c834
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 4
call fcn.0041ff7e
mov ecx, 0x3f1
mov dword [ebp - 0x50c], eax
cmp eax, ecx
jg 0x43e222
je 0x43e499
cmp eax, 2
je 0x43e210
add ecx, 0xfffffffa
cmp eax, ecx
je 0x43e499
mov ecx, 0x3ec
cmp eax, ecx
je 0x43e499
inc ecx
cmp eax, ecx
je 0x43e499
mov ecx, 0x3ee
cmp eax, ecx
je 0x43e499
jle 0x43e49f
cmp eax, 0x3f0
jg 0x43e49f
mov esi, dword [ebp - 0x4cc]
lea ecx, [ebp - 0x4e8]
push esi
call fcn.004b9cf7
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.mc::MyStrPath.0
mov eax, vtable.micro::utils::QString.0
mov dword [ebp - 0x4f4], ebx
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ebx
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], ebx
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], ebx
lea eax, [ebp - 0x500]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x4f8]
push eax
lea ecx, [ebp - 0x4e8]
call fcn.004bcbca
lea eax, [ebp - 0x500]
push eax
lea edx, [ebp - 0x508]
lea ecx, [ebp - 0x4d0]
call fcn.0040e5bc
pop ecx
mov byte [ebp - 4], 0xa
mov ecx, 0x4ef644
cmp dword [eax + 4], 0
cmovne ecx, dword [eax + 4]
push ecx
push dword [edi + 0x2c]
lea ecx, [ebp - 0x57c]
call fcn.0043c6bf
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x4d0]
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::utils::QString.0
call fcn.004b9e50
lea ecx, [ebp - 0x57c]
call fcn.0041ff7e
cmp eax, 1
je 0x43e26a
mov al, bl
mov esi, vtable.micro::utils::QString.0
mov byte [ebp - 0x4b5], al
jmp 0x43e3b0
mov byte [edi + 0xb2], 1
mov byte [ebp - 0x4b5], bl
jmp 0x43e43c
mov ecx, 0x3f2
sub eax, ecx
je 0x43e499
sub eax, 0x29
je 0x43e434
dec eax
je 0x43e42a
sub eax, 0x51
je 0x43e120
dec eax
jne 0x43e49f
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x4cc]
call fcn.004b9cf7
mov ecx, edi
call fcn.0043dc89
jmp 0x43e436
cmp dword [ebp - 0x54c], 0
lea ecx, [ebp - 0x4f0]
mov edi, 0x4ef644
mov eax, edi
cmovne eax, dword [ebp - 0x54c]
push 0xffffffffffffffff
push eax
call fcn.004b9d49
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x4c0]
cmp dword [ebp - 0x50c], 0x3f0
lea edx, [ebp - 0x4f8]
push eax
jne 0x43e333
lea ecx, [ebp - 0x528]
call fcn.0040e5bc
pop ecx
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0xe
push ecx
mov edx, eax
lea ecx, [ebp - 0x510]
call fcn.0040e5bc
pop ecx
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x528]
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::utils::QString.0
call fcn.004b9e50
cmp dword [ebp - 0x50c], 0
mov eax, edi
cmovne eax, dword [ebp - 0x50c]
cmp dword [esi + 4], 0
push eax
cmovne edi, dword [esi + 4]
push edi
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
mov byte [ebp - 4], 0xd
mov esi, vtable.micro::utils::QString.0
lea ecx, [ebp - 0x510]
setne al
mov dword [ebp - 0x510], esi
mov byte [ebp - 0x4b5], al
call fcn.004b9e50
jmp 0x43e39b
lea ecx, [ebp - 0x518]
call fcn.0040e5bc
pop ecx
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0x11
push ecx
mov edx, eax
lea ecx, [ebp - 0x520]
call fcn.0040e5bc
pop ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.004ba6d4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x520]
mov esi, vtable.micro::utils::QString.0
mov dword [ebp - 0x520], esi
call fcn.004b9e50
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x518]
mov dword [ebp - 0x518], esi
call fcn.004b9e50
mov al, 1
mov byte [ebp - 0x4b5], al
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 0x4f0], esi
call fcn.004b9e50
lea ecx, [ebp - 0x57c]
mov byte [ebp - 4], 9
call fcn.0043c7f2
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x500]
mov dword [ebp - 0x500], esi
call fcn.004b9e50
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x508], esi
call fcn.004b9e50
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 0x4c0], esi
call fcn.004b9e50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 0x4f8], esi
call fcn.004b9e50
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4e8]
mov dword [ebp - 0x4e8], esi
call fcn.004b9e50
jmp 0x43e441
mov dword [edi + 0x9c], 0x3ea
mov al, bl
mov byte [ebp - 0x4b5], al
mov esi, vtable.micro::utils::QString.0
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 3
call fcn.0043cb51
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 0x4d8], esi
call fcn.004b9e50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x4e0], esi
call fcn.004b9e50
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x4c8], esi
call fcn.004b9e50
mov al, byte [ebp - 0x4b5]
jmp 0x43e6a6
mov dword [edi + 0x9c], ecx
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 4], 3
call fcn.0043cb51
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4d8]
mov esi, vtable.micro::utils::QString.0
mov dword [ebp - 0x4d8], esi
call fcn.004b9e50
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x4e0], esi
call fcn.004b9e50
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x4c8], esi
call fcn.004b9e50
mov ecx, dword [ebp - 0x504]
mov esi, dword [ebp - 0x4fc]
mov edx, dword [ebp - 0x4f4]
mov eax, dword [edi + 0x9c]
sub eax, 0x3ea
je 0x43e6a4
dec eax
je 0x43e68c
dec eax
je 0x43e683
dec eax
je 0x43e675
dec eax
je 0x43e665
sub eax, 3
je 0x43e5fa
dec eax
jne 0x43e6b0
mov ebx, dword [ebp - 0x4cc]
lea ecx, [ebp - 0x4c8]
push ebx
call fcn.004b9cf7
mov byte [ebp - 4], 0x14
mov esi, 0x4ef644
mov edi, dword [ebp - 0x4c4]
mov eax, esi
test edi, edi
cmovne eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43e5ba
push ecx
push ecx
lea eax, [ebp - 0x4c8]
mov ecx, esp
push eax
call fcn.004b9cf7
lea eax, [ebp - 0x518]
push eax
call fcn.0043ea81
push eax
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0x15
call fcn.004ba6d4
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x518]
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::utils::QString.0
call fcn.004b9e50
jmp 0x43e55b
test edi, edi
mov eax, esi
cmovne eax, edi
cmp dword [ebx + 4], 0
push eax
cmovne esi, dword [ebx + 4]
push esi
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c8]
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::utils::QString.0
setne bl
call fcn.004b9e50
mov byte [ebp - 0x4e4], bl
jmp 0x43e6b0
mov esi, dword [ebp - 0x4cc]
mov edi, 0x3e8
cmp dword [esi + 4], 0
mov eax, 0x4ef644
cmovne eax, dword [esi + 4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43e660
mov eax, edi
dec edi
test eax, eax
je 0x43e660
push ecx
push ecx
mov ecx, esp
push esi
call fcn.004b9cf7
lea eax, [ebp - 0x520]
push eax
call fcn.0043ea81
push eax
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.004ba6d4
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x520]
mov dword [ebp - method.mc::MyStrPath.virtual_0], vtable.micro::utils::QString.0
call fcn.004b9e50
jmp 0x43e605
xor eax, eax
inc eax
jmp 0x43e6aa
cmp ecx, esi
ja 0x43e6a8
jb 0x43e68c
cmp edx, dword [ebp - 0x4ec]
jae 0x43e6a8
jmp 0x43e68c
cmp esi, ecx
ja 0x43e6a8
jb 0x43e68c
cmp dword [ebp - 0x4ec], edx
jmp 0x43e671
cmp dword [ebp - 0x4bc], 0
jl 0x43e6a8
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x4cc]
call fcn.004b9cf7
mov ecx, edi
call fcn.0043dc89
jmp 0x43e6a6
mov al, bl
mov bl, al
mov al, bl
mov dword [ebp - 0x4e4], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
mov dword [ebp + 0xc], vtable.micro::utils::QString.0
call fcn.004b9e50
mov al, byte [ebp - 0x4e4]
call fcn.00401a27
ret 0xc