Function at 0x42aeb8
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x42b16d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x44c948], 0x44c930
push 0x44c930
call sub.kernel32.dll_InitializeCriticalSection_1
call fcn.0042bc3c
push 0xffffffffffffffff
push 0x42ae88
call sub.kernel32.dll_SetConsoleCtrlHandler
call fcn.0042dd80
call fcn.0041bd70
call fcn.0042b1d4
lea eax, [ebp - 0x20]
call fcn.00419eb0
push dword [ebp - 0x20]
push 0x42b188
lea eax, [ebp - 0x24]
mov edx, dword [0x433c84]
mov edx, dword [edx]
call fcn.0040709c
push dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00407290
mov eax, dword [ebp - 0x1c]
call fcn.00407044
mov edx, eax
mov eax, dword [0x433c18]
call fcn.00419ff4
mov eax, dword [0x433c18]
call fcn.00419fe4
mov ecx, eax
mov edx, dword [0x433c18]
mov eax, dword [0x433c18]
call fcn.0041fb74
mov eax, 0x44c6ec
xor edx, edx
call fcn.0041ddbc
call fcn.0042b96c
mov eax, dword [0x433c18]
call fcn.0042b494
mov ebx, eax
cmp word [0x44c6ec], 0x5c
jne 0x42aff7
cmp word [0x44c6ee], 0x5c
jne 0x42aff7
cmp byte [0x433982], 0
jne 0x42aff7
push 0
lea edx, [ebp - 0x28]
mov eax, dword [0x433e1c]
call fcn.00409478
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x44c6ec
mov byte [ebp - 0x2c], 0xa
lea ecx, [ebp - 0x30]
mov edx, 1
call fcn.0042cf54
push 0x105
push 0x44c6ec
call sub.kernel32.dll_GetWindowsDirectoryW
mov eax, 0x44c6ec
mov dl, 1
call fcn.0041e1e0
call sub.kernel32.dll_GetConsoleOutputCP_1
mov dword [0x44c90c], eax
push 0x44c8f8
mov eax, dword [0x44c90c]
push eax
call sub.kernel32.dll_GetCPInfo
call fcn.0041a61c
mov eax, 0x20c
call fcn.00403f2c
mov dword [0x44c928], eax
mov eax, 0x20c
call fcn.00403f2c
mov dword [0x44c92c], eax
cmp dword [0x44c928], 0
je 0x42b066
cmp dword [0x44c92c], 0
je 0x42b066
push 0x104
mov eax, dword [0x44c92c]
push eax
call sub.kernel32.dll_GetConsoleTitleW
mov edx, dword [0x44c92c]
mov eax, dword [0x44c928]
call fcn.00419ff4
cmp byte [0x433981], 0
jne 0x42b0bc
mov eax, 1
call fcn.0041dd58
test eax, eax
je 0x42b0bc
cmp word [0x4339a0], 0
je 0x42b0a6
lea eax, [ebp - 0x16]
push eax
push 0xfffffffffffffff5
call sub.kernel32.dll_GetStdHandle_1
push eax
call sub.kernel32.dll_GetConsoleScreenBufferInfo
test eax, eax
je 0x42b0a6
movzx eax, word [ebp - 0xe]
mov word [0x4339a0], ax
cmp word [0x4339a0], 0
je 0x42b0bc
movzx eax, word [0x4339a0]
call fcn.0042313c
test ebx, ebx
jne 0x42b128
push 0xffffffffffffffff
lea edx, [ebp - 0x34]
mov eax, dword [0x433a88]
call fcn.00409478
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042cedc
cmp byte [0x43399a], 0
je 0x42b103
push 0xffffffffffffffff
lea edx, [ebp - 0x38]
mov eax, dword [0x433c20]
call fcn.00409478
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042cedc
jmp 0x42b128
cmp byte [0x433998], 0
je 0x42b128
push 0xffffffffffffffff
lea edx, [ebp - 0x3c]
mov eax, dword [0x433a8c]
call fcn.00409478
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042cedc
push 0x42b194
push 0x42b1b8
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.00409f44
mov edx, dword [0x433d40]
mov dword [edx], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42b174
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.004069e4
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.004069e4
ret