Function at 0x41ce10
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8d9d
mov eax, dword fs:[0]
push eax
sub esp, 0xce0
mov eax, dword [0x50e008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc68], ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov esi, dword [ebp + 0xc]
call fcn.00402650
test al, al
jne 0x41d34e
lea eax, [esi + 0x30]
mov ecx, eax
mov dword [ebp - 0xc88], eax
call fcn.00402650
test al, al
jne 0x41d34e
mov ecx, esi
call fcn.00402650
test al, al
jne 0x41d34e
lea ecx, [esi + 0x18]
call fcn.00402650
test al, al
jne 0x41d34e
lea edi, [esi + 0x48]
mov ecx, edi
call fcn.00402650
test al, al
jne 0x41d34e
lea ecx, [esi + 0x60]
call fcn.00402650
test al, al
jne 0x41d34e
push 0x4ecce4
mov ecx, edi
call fcn.00402b10
test al, al
jne 0x41ced6
push 0x4ecd14
mov ecx, edi
call fcn.00402b10
test al, al
je 0x41d34e
push esi
mov esi, dword [ebp - 0xc68]
mov ecx, dword [esi]
add ecx, 4
call fcn.0041d380
mov eax, dword [esi]
lea ecx, [ebp - 0xc84]
push ebx
mov dword [eax + 0xc4], 0
call fcn.00402770
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xc84]
call fcn.00407d90
test al, al
jne 0x41cf20
lea ecx, [ebp - 0xc84]
call fcn.00408430
lea ecx, [ebp - 0xc84]
call fcn.00407d90
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test al, al
jne 0x41d082
mov eax, dword [0x5107fc]
mov dword [ebp - 0xc6c], 0
mov dword [ebp - 0xc6c], 0x5107fc
test eax, eax
je 0x41cf5d
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 1
mov ecx, 0x510800
call fcn.00402650
test al, al
jne 0x41cfa4
mov ecx, 0x510800
call fcn.00402850
lea ecx, [ebp - 0xc84]
cmp ecx, eax
je 0x41d068
mov ecx, 0x510800
call fcn.00402850
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x41cf9b
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
jmp 0x41d05d
push 0x20c
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.004a2d80
add esp, 0xc
lea eax, [ebp - 0x224]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x41d068
xor eax, eax
push 0x412
push eax
mov word [ebp - 0x1a], ax
lea eax, [ebp - 0x84c]
push eax
call fcn.004a2d80
add esp, 0xc
lea eax, [ebp - 0x84c]
push 0x208
push eax
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
cmp eax, 0x208
ja 0x41d046
test eax, eax
je 0x41d046
add eax, eax
cmp eax, 0x412
jae 0x41d36c
xor ecx, ecx
mov word [ebp + eax - 0x84c], cx
lea eax, [ebp - 0x84c]
push eax
call fcn.00402a80
add esp, 4
push eax
lea eax, [ebp - 0x84c]
jmp 0x41d05c
lea eax, [ebp - 0x224]
push eax
call fcn.00402a80
add esp, 4
push eax
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0xc84]
call fcn.00402870
mov byte [ebp - 4], 0
mov eax, dword [0x5107fc]
test eax, eax
je 0x41d078
push eax
call esi
mov dword [ebp - 0xc6c], 0
mov ebx, dword [ebp - 0xc68]
lea eax, [ebp - 0xc84]
push eax
mov ecx, dword [ebx]
add ecx, 0xcc
call fcn.00402690
push str.download
lea ecx, [ebp - 0xca0]
call fcn.00402700
mov byte [ebp - 4], 2
lea eax, [ebp - 0xca0]
push eax
lea eax, [ebp - 0xc84]
push eax
lea eax, [ebp - 0xcb8]
push eax
call fcn.0040a200
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc84]
push eax
call fcn.004026c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xcb8]
call fcn.00402290
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xca0]
call fcn.00402290
push edi
lea eax, [ebp - 0xc84]
push eax
lea eax, [ebp - 0xcd0]
push eax
call fcn.0040a200
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc84]
push eax
call fcn.004026c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcd0]
call fcn.00402290
lea ecx, [ebp - 0xc84]
call fcn.00407d90
test al, al
jne 0x41d14b
lea ecx, [ebp - 0xc84]
call fcn.00408430
lea ecx, [ebp - 0xc84]
call fcn.00407d90
test al, al
jne 0x41d2a5
mov eax, dword [0x5107fc]
mov dword [ebp - 0xc68], 0
mov dword [ebp - 0xc68], 0x5107fc
test eax, eax
je 0x41d182
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 5
mov ecx, 0x510800
call fcn.00402650
test al, al
jne 0x41d1c4
mov ecx, 0x510800
call fcn.00402850
lea edx, [ebp - 0xc84]
cmp edx, eax
je 0x41d28b
call fcn.00402850
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x41d1bb
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
jmp 0x41d280
push 0x20c
lea eax, [ebp - 0x434]
push 0
push eax
call fcn.004a2d80
add esp, 0xc
lea eax, [ebp - 0x434]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x41d28b
xor eax, eax
push 0x412
push eax
mov word [ebp - 0x22a], ax
lea eax, [ebp - 0xc64]
push eax
call fcn.004a2d80
add esp, 0xc
lea eax, [ebp - 0xc64]
push 0x208
push eax
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
cmp eax, 0x208
ja 0x41d269
test eax, eax
je 0x41d269
add eax, eax
cmp eax, 0x412
jae 0x41d36c
xor ecx, ecx
mov word [ebp + eax - 0xc64], cx
lea eax, [ebp - 0xc64]
push eax
call fcn.00402a80
add esp, 4
push eax
lea eax, [ebp - 0xc64]
jmp 0x41d27f
lea eax, [ebp - 0x434]
push eax
call fcn.00402a80
add esp, 4
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0xc84]
call fcn.00402870
mov byte [ebp - 4], 0
mov eax, dword [0x5107fc]
test eax, eax
je 0x41d29b
push eax
call esi
mov dword [ebp - 0xc68], 0
mov ecx, dword [ebx]
lea eax, [ebp - 0xc84]
push eax
add ecx, 0xe4
call fcn.00402690
push dword [ebp - 0xc88]
lea eax, [ebp - 0xc84]
push eax
lea eax, [ebp - 0xce8]
push eax
call fcn.0040a200
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc84]
push eax
call fcn.004026c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xce8]
call fcn.00402290
push str..NewVersion.data
call fcn.00402a80
add esp, 4
lea ecx, [ebp - 0xc84]
push eax
push str..NewVersion.data
call fcn.00407190
mov ecx, dword [ebx]
lea eax, [ebp - 0xc84]
push 1
push eax
add ecx, 0xb0
call fcn.004707c0
mov ecx, dword [ebx]
mov byte [ecx], al
mov eax, dword [ebx]
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x41d33c
mov byte [eax + 4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc84]
call fcn.00402290
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a100a
mov esp, ebp
pop ebp
ret 0xc
call fcn.004a165f
int3