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

Disassembly:
push ebp
sub esp, 0x418
lea ebp, [esp - 4]
mov eax, dword [0x56a5a0]
xor eax, ebp
mov dword [ebp + 0x418], eax
push 0x28
mov eax, 0x50dabf
call fcn.004d02ab
lea edi, [esi + 0x80]
xor ebx, ebx
cmp dword [edi], ebx
jne 0x490fac
push str.ASSERT:_m_bReadyToMove
push 0x1b6
push str..dlgoptiondlgoptpagesync.cpp
xor ecx, ecx
call fcn.0040ef48
cmp dword [edi], ebx
jne 0x490fac
mov edi, 0x80004005
jmp 0x4911ae
mov eax, dword [esi + 0x74]
cmp dword [eax - 0xc], ebx
je 0x490fbc
mov eax, dword [esi + 0x78]
cmp dword [eax - 0xc], ebx
jne 0x490fd2
push str.ASSERT:__IsStrEmpty_m_strCurSyncPath____IsStrEmpty_m_strNewSyncPath_
push 0x1bb
push str..dlgoptiondlgoptpagesync.cpp
xor ecx, ecx
call fcn.0040ef48
push dword [esi + 0x74]
lea eax, [ebp - 0x10]
push eax
call fcn.004022e5
mov dword [ebp - 4], ebx
push dword [esi + 0x78]
lea eax, [ebp - 0x14]
push eax
call fcn.004022e5
mov byte [ebp - 4], 1
push dword [ebp - 0x10]
mov edi, dword [0x51a4b4]
call edi
test eax, eax
je 0x49118f
push dword [ebp - 0x10]
mov ebx, dword [0x51a4b0]
call ebx
test eax, eax
je 0x49118f
push dword [ebp - 0x14]
call edi
test eax, eax
je 0x49118f
push dword [ebp - 0x14]
call ebx
test eax, eax
je 0x49118f
mov byte [ebp - 4], 0
lea eax, [ebp - 0x14]
push eax
call fcn.004025f7
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
push eax
call fcn.004025f7
push dword [esi + 0x74]
lea eax, [ebp - 0x10]
push eax
mov dword [esi + 0x7c], 1
call fcn.004022e5
push 2
pop ebx
mov dword [ebp - 4], ebx
push dword [esi + 0x78]
lea eax, [ebp - 0x14]
push eax
call fcn.004022e5
mov byte [ebp - 4], 3
push 0x538778
lea eax, [ebp - 0x10]
call fcn.0040d65b
lea eax, [ebp - 0x10]
call fcn.004707d9
lea eax, [ebp - 0x14]
call fcn.004707d9
xor eax, eax
mov edi, 0x208
push edi
push eax
mov word [ebp + 0x20c], ax
lea eax, [ebp + 0x20e]
push eax
call fcn.004ce6f0
xor eax, eax
push edi
push eax
mov word [ebp], ax
lea eax, [ebp + 2]
push eax
call fcn.004ce6f0
push dword [ebp - 0x10]
mov edi, 0x105
lea eax, [ebp + 0x20c]
push edi
push eax
call fcn.004cdfa0
push dword [ebp - 0x14]
lea eax, [ebp]
push edi
push eax
call fcn.004cdfa0
lea eax, [ebp + 0x20c]
add esp, 0x30
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x4910ec
sub eax, ecx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 + 0x20e], cx
lea eax, [ebp]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, ebx
test dx, dx
jne 0x49110a
sub eax, ecx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 + 2], cx
push 6
xor eax, eax
pop ecx
lea edi, [ebp - 0x30]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esi + 4]
mov dword [ebp - 0x34], eax
lea eax, [ebp + 0x20c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp]
push 0x40
mov dword [ebp - 0x28], eax
pop eax
mov word [ebp - 0x24], ax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x30], ebx
call dword [0x51a498]
test eax, eax
je 0x491184
cmp eax, 7
jne 0x491163
cmp dword [ebp - 0x22], 1
je 0x491184
xor edi, edi
inc edi
cmp dword [ebp - 0x22], edi
jne 0x49117d
cmp eax, 0x4c7
je 0x491186
cmp eax, 0xb7
je 0x491186
cmp eax, ebx
je 0x491186
mov edi, 0x80004005
jmp 0x491186
xor edi, edi
and dword [esi + 0x7c], 0
mov byte [ebp - 4], bl
jmp 0x491198
mov edi, 0x80004005
mov byte [ebp - 4], 0
lea eax, [ebp - 0x14]
push eax
call fcn.004025f7
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
push eax
call fcn.004025f7
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x418]
xor ecx, ebp
call fcn.004c9b4d
add ebp, 0x41c
leave
ret