Function at 0x46eba0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push esi
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x46ebce
push esi
push esi
push 0x18e
push str.FileGeneralFS.cpp
call fcn.0043bc90
add esp, 0x10
mov eax, 0x80070057
pop esi
mov esp, ebp
pop ebp
ret 0xc
push edi
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x46ebf7
push edi
push edi
push 0x18f
push str.FileGeneralFS.cpp
call fcn.0043bc90
add esp, 0x10
mov eax, 0x80070057
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
push ebx
push fcn.004041f0
push fcn.00405440
push 2
push 4
lea eax, [ebp - 0xc]
push eax
call fcn.0053eaca
push fcn.004041f0
push fcn.00405440
push 2
push 4
lea eax, [ebp - 0x14]
push eax
call fcn.0053eaca
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push esi
call fcn.00471180
mov ecx, dword [ebp + 8]
mov bl, al
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push edi
call fcn.00471180
test bl, bl
pop ebx
je 0x46ed8a
test al, al
je 0x46edab
push fcn.00425e90
push fcn.00425ea0
push 2
push 0xc
lea eax, [ebp - 0x40]
push eax
call fcn.0053eaca
lea ecx, [ebp + 0x10]
call fcn.00405440
lea ecx, [ebp + 0xc]
call fcn.00405440
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0xc]
call fcn.00478b40
mov edi, eax
add esp, 0xc
test edi, edi
js 0x46ed41
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 8]
call fcn.00478b40
mov edi, eax
add esp, 0xc
test edi, edi
js 0x46ed41
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0046f8f0
add esp, 8
test al, al
jne 0x46ecd7
mov edi, 0x80004005
jmp 0x46ed41
lea ecx, [ebp - 0x28]
call fcn.00470070
lea eax, [ebp - 0x28]
push eax
push 0
push 0x12
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x14]
call fcn.00478810
mov edi, eax
add esp, 0x14
test edi, edi
js 0x46ed39
lea ecx, [ebp - 0x28]
call fcn.00458330
push dword [ebp + 0xc]
lea ecx, [ebp - 4]
mov edi, dword [eax]
call fcn.00405480
push dword [ebp + 0x10]
lea ecx, [ebp + 8]
mov esi, dword [eax]
call fcn.00405480
mov ecx, dword [edi]
push esi
push dword [eax]
push edi
call dword [ecx + 0x34]
push dword [ebp + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, eax
call esi
push dword [ebp - 4]
call esi
lea ecx, [ebp - 0x28]
call fcn.00470150
mov edx, dword [ebp + 0xc]
or esi, 0xffffffff
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46ed5e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0x10]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x46ed76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push fcn.00425e90
push 2
push 0xc
lea eax, [ebp - 0x40]
push eax
call fcn.0053e9ab
jmp 0x46edc6
test al, al
jne 0x46edab
push 3
push dword [ebp - 8]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x46eda7
mov edi, 0x80004005
jmp 0x46edc6
xor edi, edi
jmp 0x46edc6
push 0
push 0
push 0x196
push str.FileGeneralFS.cpp
call fcn.0043bc90
add esp, 0x10
mov edi, 0x80070057
push fcn.004041f0
push 2
push 4
lea eax, [ebp - 0x14]
push eax
call fcn.0053e9ab
push fcn.004041f0
push 2
push 4
lea eax, [ebp - 0xc]
push eax
call fcn.0053e9ab
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc