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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x550460
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46b8f8
mov eax, 0x550460
lea ecx, [ebp - 0x20]
call fcn.00401520
lea ebx, [ebp - 0x20]
call fcn.0046bd50
mov edi, 8
cmp dword [ebp - 8], edi
jb 0x46b634
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004c097a
add esp, 4
lea esi, [ebp - 0x70]
call fcn.00412240
mov eax, 0x550460
lea ecx, [ebp - 0x20]
call fcn.00401520
mov ecx, esi
push ecx
lea ecx, [ebp - 0x20]
call fcn.0046d960
add esp, 4
cmp dword [ebp - 8], edi
jb 0x46b668
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004c097a
add esp, 4
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x46b8f0
mov ebx, 0x550670
call fcn.004076d0
test eax, eax
je 0x46b8f0
mov ebx, 0x550880
call fcn.004076d0
test eax, eax
je 0x46b8f0
xor ecx, ecx
mov eax, 7
mov word [ebp - 0x1c], cx
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
mov dword [ebp - 8], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x40], eax
xor eax, eax
xor edx, edx
mov word [ebp - 0x54], ax
mov word [ebp - 0x38], dx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
xor ebx, ebx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x44], ebx
je 0x46b893
mov edi, ebx
lea esi, [ebp - 0x70]
call fcn.004254d0
push eax
mov eax, 0x550460
lea ecx, [ebp - 0xc4]
call fcn.00401520
mov edi, 0x51bcf8
mov ecx, eax
lea esi, [ebp - 0x8c]
call fcn.0040e390
mov ecx, eax
lea edi, [ebp - 0xa8]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea eax, [ebp - 0x20]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
lea esi, [ebp - 0x8c]
call fcn.0040f420
lea esi, [ebp - 0xc4]
call fcn.0040f420
mov edi, ebx
lea esi, [ebp - 0x70]
call fcn.004254d0
push eax
mov eax, 0x550670
lea ecx, [ebp - 0xa8]
call fcn.00401520
mov edi, 0x51bcf8
mov ecx, eax
lea esi, [ebp - 0x8c]
call fcn.0040e390
mov ecx, eax
lea edi, [ebp - 0xc4]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea eax, [ebp - 0x3c]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
lea esi, [ebp - 0x8c]
call fcn.0040f420
lea esi, [ebp - 0xa8]
call fcn.0040f420
mov edi, ebx
lea esi, [ebp - 0x70]
call fcn.004254d0
push eax
mov eax, 0x550880
lea ecx, [ebp - 0xa8]
call fcn.00401520
mov edi, 0x51bcf8
mov ecx, eax
lea esi, [ebp - 0x8c]
call fcn.0040e390
mov ecx, eax
lea edi, [ebp - 0xc4]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea eax, [ebp - 0x58]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
lea esi, [ebp - 0x8c]
call fcn.0040f420
lea esi, [ebp - 0xa8]
call fcn.0040f420
mov ecx, dword [ebp - 0x54]
mov edi, 8
cmp dword [ebp - 0x40], edi
jae 0x46b83a
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x24], edi
jae 0x46b845
lea eax, [ebp - 0x38]
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 3
push ecx
push eax
call esi
mov ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x24], edi
jae 0x46b85c
lea ecx, [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 8], edi
jae 0x46b867
lea eax, [ebp - 0x1c]
push 3
push ecx
push eax
call esi
test eax, eax
je 0x46b8c6
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x46b6f5
lea esi, [ebp - 0x58]
call fcn.0040f420
lea esi, [ebp - 0x3c]
call fcn.0040f420
lea esi, [ebp - 0x20]
call fcn.0040f420
lea esi, [ebp - 0x70]
call fcn.0040afb0
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004c0985
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x58]
push ecx
lea ebx, [ebp - 0x70]
lea ecx, [ebp - 0x3c]
call fcn.0046b910
add esp, 4
lea esi, [ebp - 0x58]
call fcn.0040f420
lea esi, [ebp - 0x3c]
call fcn.0040f420
lea esi, [ebp - 0x20]
call fcn.0040f420
lea esi, [ebp - 0x70]
call fcn.0040afb0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.004c0985
mov esp, ebp
pop ebp
ret