Function at 0x429114
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 0x4293c9
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x44b944], 0x44b92c
push 0x44b92c
call sub.kernel32.dll_InitializeCriticalSection_1
call fcn.00429e98
push 0xffffffffffffffff
push 0x4290e4
call sub.kernel32.dll_SetConsoleCtrlHandler
call fcn.0042bfdc
call fcn.00419f84
call fcn.00429430
lea eax, [ebp - 0x20]
call fcn.0041801c
push dword [ebp - 0x20]
push 0x4293e4
lea eax, [ebp - 0x24]
mov edx, dword [0x432084]
mov edx, dword [edx]
call fcn.00407178
push dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.0040736c
mov eax, dword [ebp - 0x1c]
call fcn.00407120
mov edx, eax
mov eax, dword [0x432014]
call fcn.00418160
mov eax, dword [0x432014]
call fcn.00418150
mov ecx, eax
mov edx, dword [0x432014]
mov eax, dword [0x432014]
call fcn.0041dd88
mov eax, 0x44b6e8
xor edx, edx
call fcn.0041bfd0
call fcn.00429bc8
mov eax, dword [0x432014]
call fcn.004296f0
mov ebx, eax
cmp word [0x44b6e8], 0x5c
jne 0x429253
cmp word [0x44b6ea], 0x5c
jne 0x429253
cmp byte [0x431986], 0
jne 0x429253
push 0
lea edx, [ebp - 0x28]
mov eax, dword [0x432220]
call fcn.004095b4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x44b6e8
mov byte [ebp - 0x2c], 0xa
lea ecx, [ebp - 0x30]
mov edx, 1
call fcn.0042b1b0
push 0x105
push 0x44b6e8
call sub.kernel32.dll_GetWindowsDirectoryW
mov eax, 0x44b6e8
mov dl, 1
call fcn.0041c3f4
call sub.kernel32.dll_GetConsoleOutputCP_1
mov dword [0x44b908], eax
push 0x44b8f4
mov eax, dword [0x44b908]
push eax
call sub.kernel32.dll_GetCPInfo
call fcn.00418830
mov eax, 0x20c
call fcn.00403980
mov dword [0x44b924], eax
mov eax, 0x20c
call fcn.00403980
mov dword [0x44b928], eax
cmp dword [0x44b924], 0
je 0x4292c2
cmp dword [0x44b928], 0
je 0x4292c2
push 0x104
mov eax, dword [0x44b928]
push eax
call sub.kernel32.dll_GetConsoleTitleW
mov edx, dword [0x44b928]
mov eax, dword [0x44b924]
call fcn.00418160
cmp byte [0x431985], 0
jne 0x429318
mov eax, 1
call fcn.0041bf6c
test eax, eax
je 0x429318
cmp word [0x4319a4], 0
je 0x429302
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 0x429302
movzx eax, word [ebp - 0xe]
mov word [0x4319a4], ax
cmp word [0x4319a4], 0
je 0x429318
movzx eax, word [0x4319a4]
call fcn.00421350
test ebx, ebx
jne 0x429384
push 0xffffffffffffffff
lea edx, [ebp - 0x34]
mov eax, dword [0x431e8c]
call fcn.004095b4
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042b138
cmp byte [0x43199e], 0
je 0x42935f
push 0xffffffffffffffff
lea edx, [ebp - 0x38]
mov eax, dword [0x43201c]
call fcn.004095b4
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042b138
jmp 0x429384
cmp byte [0x43199c], 0
je 0x429384
push 0xffffffffffffffff
lea edx, [ebp - 0x3c]
mov eax, dword [0x431e90]
call fcn.004095b4
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.0042b138
push 0x4293f0
push 0x429414
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a078
mov edx, dword [0x432144]
mov dword [edx], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4293d0
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.00406a34
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00406a34
ret