Function at 0x4ae420
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xba4
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0xba4]
mov ecx, 0x2e9
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x5ddc34]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.00401370
test eax, eax
jne 0x4ae466
mov al, 1
jmp 0x4ae92a
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x508]
call fcn.004195a0
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x508]
call fcn.004194e0
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.00401370
push eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x508]
call fcn.00419540
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.00401370
push eax
push 0
push 0x591574
lea eax, [ebp - 0x624]
push eax
call fcn.00401bd6
add esp, 0x10
mov esi, esp
lea eax, [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x508]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x508]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
mov esi, esp
lea eax, [ebp - 0x834]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp esi, esp
call fcn.004f4cf0
mov dword [ebp - 0xa68], 0
jmp 0x4ae527
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.00401370
cmp dword [ebp - 0xa68], eax
jae 0x4ae928
mov eax, dword [ebp - 0xa68]
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.0040173a
mov dword [ebp - 0xa74], eax
push 0x400
push 0
lea eax, [ebp - 0x414]
push eax
call fcn.004f6010
add esp, 0xc
push 0
call fcn.004b8390
add esp, 4
push edx
push eax
mov eax, dword [ebp - 0xa74]
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 0xdd4
push ecx
push str._s__s.bin_t_d
lea edx, [ebp - 0x414]
push edx
call fcn.004016fe
add esp, 0x18
mov dword [ebp - 0xa80], 0
jmp 0x4ae5be
mov eax, dword [ebp - 0xa80]
add eax, 1
mov dword [ebp - 0xa80], eax
lea eax, [ebp - 0x414]
push eax
call fcn.004f7300
add esp, 4
cmp dword [ebp - 0xa80], eax
jae 0x4ae5fd
mov eax, dword [ebp - 0xa80]
movzx ecx, word [ebp + eax*2 - 0x414]
cmp ecx, 0x5c
jne 0x4ae5fb
mov eax, 0x2f
mov ecx, dword [ebp - 0xa80]
mov word [ebp + ecx*2 - 0x414], ax
jmp 0x4ae5af
lea eax, [ebp - 0xa50]
push eax
mov ecx, dword [ebp - 0xa74]
push ecx
lea edx, [ebp - 0x414]
push edx
mov ecx, dword [ebp - 0xc]
call fcn.0040197e
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 0
jne 0x4ae684
mov eax, dword [ebp - 0xa74]
push eax
push 0x5915bc
lea ecx, [ebp - 0x624]
push ecx
call fcn.00401bd6
add esp, 0xc
mov esi, esp
lea eax, [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x504]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
push 0x64
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x504]
call fcn.004195a0
xor al, al
jmp 0x4ae92a
mov eax, dword [ebp - 0xa74]
push eax
push str.ck_W
lea ecx, [ebp - 0x624]
push ecx
call fcn.00401bd6
add esp, 0xc
mov esi, esp
lea eax, [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x504]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
jmp 0x4ae6da
cmp dword [ebp - 0xa50], 0x14
jb 0x4ae6fc
push 0x10
mov eax, dword [ebp - 0xa5c]
add eax, 4
push eax
push str.Srwh2IqEvNB2Gray
call fcn.00401b22
add esp, 0xc
jmp 0x4ae70c
mov byte [ebp - 0xa89], 0
mov eax, dword [ebp - 0xa5c]
mov ecx, dword [eax]
mov dword [ebp - 0xa98], ecx
mov eax, dword [ebp - 0xa98]
push eax
call fcn.004bcb10
add esp, 4
mov dword [ebp - 0xba0], eax
mov ecx, dword [ebp - 0xba0]
mov dword [ebp - 0xaa4], ecx
cmp dword [ebp - 0xaa4], 0
jne 0x4ae757
mov byte [ebp - 0xa89], 1
jmp 0x4ae85e
mov eax, dword [ebp - 0xa50]
sub eax, 4
push eax
mov ecx, 1
shl ecx, 2
add ecx, dword [ebp - 0xa5c]
push ecx
lea edx, [ebp - 0xa98]
push edx
mov eax, dword [ebp - 0xaa4]
push eax
call fcn.004741e0
add esp, 0x10
mov dword [ebp - 0xab0], eax
cmp dword [ebp - 0xab0], 0
je 0x4ae7a1
mov byte [ebp - 0xa89], 1
jmp 0x4ae85e
mov eax, dword [ebp - 0xa74]
push eax
lea ecx, [ebp - 0x834]
push ecx
push str._s_s
lea edx, [ebp - 0xa44]
push edx
call fcn.00401bd6
add esp, 0x10
lea eax, [ebp - 0xa44]
push eax
call fcn.00401b63
add esp, 4
mov dword [ebp - 0xabc], eax
mov eax, dword [ebp - 0xabc]
push eax
call fcn.00401023
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x4ae7fd
mov eax, dword [ebp - 0xabc]
push eax
call fcn.004019f6
add esp, 4
mov eax, dword [ebp - 0xa98]
push eax
mov ecx, dword [ebp - 0xaa4]
push ecx
lea edx, [ebp - 0xa44]
push edx
mov ecx, dword [ebp - 0xc]
call fcn.0040180c
movzx eax, al
test eax, eax
jne 0x4ae82a
mov byte [ebp - 0xa89], 1
jmp 0x4ae85e
mov esi, esp
push str.._update.local
mov eax, dword [ebp - 0xa74]
add eax, 0x208
push eax
push 0x591528
mov ecx, dword [ebp - 0xa74]
push ecx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp esi, esp
call fcn.004f4cf0
xor eax, eax
jne 0x4ae742
cmp dword [ebp - 0xa5c], 0
je 0x4ae882
mov eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xb94], eax
mov ecx, dword [ebp - 0xb94]
push ecx
call fcn.004f9cb0
add esp, 4
cmp dword [ebp - 0xaa4], 0
je 0x4ae8a6
mov eax, dword [ebp - 0xaa4]
mov dword [ebp - 0xb88], eax
mov ecx, dword [ebp - 0xb88]
push ecx
call fcn.004f9cb0
add esp, 4
movzx eax, byte [ebp - 0xa89]
test eax, eax
je 0x4ae8b5
xor al, al
jmp 0x4ae92a
mov ecx, dword [ebp - 0xc]
add ecx, 0xfec
call fcn.00401370
push eax
mov eax, dword [ebp - 0xa68]
add eax, 1
push eax
push 0x591574
lea ecx, [ebp - 0x624]
push ecx
call fcn.00401bd6
add esp, 0x10
mov eax, dword [ebp - 0xa68]
add eax, 1
push eax
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x508]
call fcn.004195a0
mov esi, esp
lea eax, [ebp - 0x624]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x508]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x508]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
jmp 0x4ae518
mov al, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x4ae95c]
call fcn.004f4c90
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f4d70
add esp, 0xba4
cmp ebp, esp
call fcn.004f4cf0
mov esp, ebp
pop ebp
ret