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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [0x6f4e3c]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea esi, [ebp - 0x28]
push esi
call fcn.004379ec
add esp, 4
mov ecx, esi
push str.chrome.ext.7z
call fcn.00469188
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], ecx
movsd xmm0, qword [eax]
movsd qword [ebp - 0x1c], xmm0
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax], ecx
cmp byte [esi + 0xb], 0
jns 0x4129e9
push dword [ebp - 0x28]
call fcn.00517bd6
add esp, 4
cmp byte [ebp - 0x11], 0
jns 0x4129f4
mov eax, dword [ebp - 0x1c]
jmp 0x4129f7
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x412a45
lea edi, [ebp - 0x34]
push edi
call fcn.004379ec
add esp, 4
push edi
push esi
call fcn.00437a4f
add esp, 8
cmp byte [edi + 0xb], 0
jns 0x412a29
push dword [ebp - 0x34]
call fcn.00517bd6
add esp, 4
push esi
push edi
call fcn.00437a4f
add esp, 8
cmp byte [ebp - 0x1d], 0
js 0x412a4c
mov word [ebp - 0x28], 0
mov byte [ebp - 0x1d], 0
jmp 0x412a73
xor ebx, ebx
jmp 0x412bb1
mov eax, dword [ebp - 0x28]
mov word [eax], 0
mov dword [ebp - 0x24], 0
cmp byte [ebp - 0x1d], 0
jns 0x412a73
push dword [ebp - 0x28]
call fcn.00517bd6
add esp, 4
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
movsd xmm0, qword [ebp - 0x34]
movsd qword [ebp - 0x28], xmm0
cmp word [0x649762], 0
je 0x412aa1
xor ecx, ecx
lea eax, [ecx + 1]
cmp word [ecx + ecx + 0x649764], 0
mov ecx, eax
jne 0x412a8f
jmp 0x412aa3
xor eax, eax
movzx ecx, byte [ebp - 0x1d]
test cl, cl
jns 0x412ab1
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
push 1
push eax
push 0x649762
push ecx
push esi
call fcn.0047b2e0
add esp, 0x14
test al, al
je 0x412ba0
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
cmp byte [ebp - 0x1d], 0
jns 0x412aea
mov eax, dword [ebp - 0x28]
jmp 0x412aed
lea eax, [ebp - 0x28]
lea esi, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.00401a6c
lea eax, [ebp - 0x40]
lea ebx, [ebp - 0x1c]
push eax
push edi
push esi
push 1
push ebx
call fcn.0040240c
add esp, 0x14
mov edi, eax
cmp byte [esi + 0xb], 0
jns 0x412b1f
push dword [ebp - 0x4c]
call fcn.00517bd6
add esp, 4
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
cmp ecx, 0xc
jne 0x412b8b
cmp byte [ebp - 0x11], 0
jns 0x412b35
mov ebx, dword [ebp - 0x1c]
cmp byte [eax + 0xb], 0
jns 0x412b3d
mov eax, dword [eax]
push 3
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x412b8b
cmp byte [ebp - 0x1d], 0
jns 0x412b56
mov eax, dword [ebp - 0x28]
jmp 0x412b59
lea eax, [ebp - 0x28]
lea edi, [ebp - 0x34]
lea ebx, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00401a6c
lea eax, [ebp - 0x1c]
push ebx
push edi
push esi
push 1
push eax
call fcn.0040240c
add esp, 0x14
mov edi, eax
cmp byte [ebp - 0x41], 0
jns 0x412b8b
push dword [ebp - 0x4c]
call fcn.00517bd6
add esp, 4
test edi, edi
sete bl
lea ecx, [ebp - 0x40]
call fcn.00403fbe
lea ecx, [ebp - 0x34]
call fcn.00403fbe
cmp byte [ebp - 0x1d], 0
jns 0x412bb1
push dword [ebp - 0x28]
call fcn.00517bd6
add esp, 4
cmp byte [ebp - 0x11], 0
jns 0x412bc2
push dword [ebp - 0x1c]
call fcn.00517bd6
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00517c1a
mov eax, ebx
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret