Function at 0x4ad10936
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x4ad33b38]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, 0x4ad388a0
push edi
push eax
mov dword [ebp - 0x48], esi
mov dword [0x4ad2fa38], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call fcn.4ad01f53
push 1
push 0x4ad11f74
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
call fcn.4ad01472
call fcn.4ad06dc9
push esi
call fcn.4ad072b0
mov edi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call edi
mov ebx, dword [sym.imp.msvcrt.dll_wcslen]
push eax
call ebx
inc eax
cmp eax, 0x2000
pop ecx
ja 0x4ad1451a
call edi
test eax, eax
mov esi, 0x4ad25060
je 0x4ad078ac
call edi
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
push esi
call ebx
pop ecx
push eax
push esi
push esi
call fcn.4ad020cb
push 0
mov edi, 0x4ad34460
push edi
call fcn.4ad0234c
call fcn.4ad06f8c
push esi
push dword [ebp - 0x48]
call fcn.4ad06de3
cmp word [0x4ad34460], 0x5c
je 0x4ad1091a
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
push 0x4ad33b60
push eax
mov dword [0x4ad2b9ac], eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
call fcn.4ad07a29
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, 0x20c
push ebx
push 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
call edi
push ebx
xor ebx, ebx
push ebx
mov dword [0x4ad2fa3c], eax
call esi
push eax
call edi
cmp dword [0x4ad2fa3c], ebx
mov dword [0x4ad2fa40], eax
je 0x4ad07966
cmp eax, ebx
je 0x4ad07966
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleW]
test eax, eax
je 0x4ad14530
mov ecx, dword [0x4ad2fa3c]
cmp ecx, ebx
je 0x4ad07966
mov eax, dword [0x4ad2fa40]
cmp eax, ebx
ret
je 0x4ad07966
push eax
push ecx
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
cmp dword [0x4ad2fa74], ebx
je 0x4ad0fa4a
mov edi, dword [ebp - 0x48]
cmp dword [edi + 8], ebx
je 0x4ad0f9fe
push 0x4ad0780c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x4ad07a18
push eax
mov dword [0x4ad3887c], eax
call esi
push 0x4ad07a04
push dword [0x4ad3887c]
mov dword [0x4ad2fa2c], eax
call esi
push 0x4ad079ec
push dword [0x4ad3887c]
mov dword [0x4ad2fa30], eax
call esi
mov dword [0x4ad2fa34], eax
cmp dword [edi], ebx
jne 0x4ad079d7
cmp dword [edi + 4], ebx
jne 0x4ad079d7
cmp dword [edi + 8], ebx
je 0x4ad0fa43
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.4ad01389
leave
ret 4
push 0x20
lea eax, [ebp - 0x44]
push eax
call fcn.4ad0f9ae
lea eax, [ebp - 0x44]
push eax
push 1
push 0x2350
call fcn.4ad05031
push 0x4ad3cb88
call fcn.4ad04115
push ebx
push 0x2334
call fcn.4ad05031
add esp, 0x18
cmp byte [0x4ad38880], 0
jne 0x4ad0797e
jmp 0x4ad14545
xor eax, eax
jmp 0x4ad079da
push 1
call fcn.4ad0403c
test eax, eax
je 0x4ad07972
cmp word [0x4ad2fa44], bx
jne 0x4ad0fa90
lea eax, [ebp - 0x60]
push eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x4ad0fa83
mov ax, word [ebp - 0x58]
mov word [0x4ad2fa44], ax
cmp word [0x4ad2fa44], bx
je 0x4ad07972
xor eax, eax
mov ax, word [0x4ad2fa44]
push eax
call fcn.4ad0faa8
jmp 0x4ad07972
cmp word [0x4ad34462], 0x5c
jne 0x4ad078e1
cmp byte [0x4ad3d2ec], 0
jne 0x4ad078e1
push edi
push 1
push 0x23c8
call fcn.4ad050c9
add esp, 0xc
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
push 1
je 0x4ad1452a
push edi
call fcn.4ad04dc8
jmp 0x4ad078e1
push 0
push 0x23dd
call fcn.4ad050c9
pop ecx
pop ecx
push 1
call fcn.4ad06d45
int3
mov eax, dword [0x4ad2fa3c]
mov word [eax], bx
mov eax, dword [0x4ad2fa40]
mov word [eax], bx
jmp 0x4ad07966
cmp byte [0x4ad2fa24], 0
je 0x4ad0797e
push ebx
push 0x239f
call fcn.4ad05031
pop ecx
pop ecx
jmp 0x4ad0797e