Function at 0x4300d0
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x430383
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
je 0x430115
mov eax, dword [0x4369d8]
mov word [eax], 0x39
mov eax, dword [0x4369d8]
mov word [eax + 2], 0x35
jmp 0x43012a
mov eax, dword [0x4369d8]
mov word [eax], 0x4e
mov eax, dword [0x4369d8]
mov word [eax + 2], 0x54
mov dword [0x44fbec], 0x44fbd4
push 0x44fbd4
call sub.kernel32.dll_InitializeCriticalSection_1
call fcn.00430f38
push 0xffffffffffffffff
push 0x430098
call sub.kernel32.dll_SetConsoleCtrlHandler
call fcn.0042b608
call fcn.00420f90
call fcn.004303d4
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
mov eax, dword [0x436b80]
call fcn.0041a014
mov eax, dword [0x436b80]
call fcn.00419fec
mov ecx, eax
mov edx, dword [0x436b80]
mov eax, dword [0x436b80]
call fcn.0041f7bc
mov eax, 0x44f990
xor edx, edx
call fcn.004230a8
call fcn.00430c54
mov eax, dword [0x436b80]
call fcn.004306f0
mov dword [ebp - 8], eax
cmp word [0x44f990], 0x5c
jne 0x43020b
cmp word [0x44f992], 0x5c
jne 0x43020b
cmp byte [0x43690a], 0
jne 0x43020b
push 0
lea edx, [ebp - 0x24]
mov eax, dword [0x436d7c]
call fcn.00409578
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0x44f990
mov byte [ebp - 0x28], 0xa
lea ecx, [ebp - 0x2c]
mov edx, 1
call fcn.0042a3c8
push 0x105
push 0x44f990
call sub.kernel32.dll_GetWindowsDirectoryW
mov eax, 0x44f990
mov dl, 1
call fcn.0042329c
call sub.kernel32.dll_GetConsoleOutputCP_1
mov dword [0x44fbb0], eax
push 0x44fb9c
mov eax, dword [0x44fbb0]
push eax
call sub.kernel32.dll_GetCPInfo
call fcn.0041c6b0
mov eax, 0x20c
call fcn.00403f2c
mov dword [0x44fbcc], eax
mov eax, 0x20c
call fcn.00403f2c
mov dword [0x44fbd0], eax
cmp dword [0x44fbcc], 0
je 0x43027a
cmp dword [0x44fbd0], 0
je 0x43027a
push 0x104
mov eax, dword [0x44fbd0]
push eax
call sub.kernel32.dll_GetConsoleTitleW
mov edx, dword [0x44fbd0]
mov eax, dword [0x44fbcc]
call fcn.0041a014
cmp byte [0x436909], 0
jne 0x4302cf
mov eax, 1
call fcn.00423020
test eax, eax
je 0x4302cf
cmp word [0x436928], 0
je 0x4302ba
lea eax, [ebp - 0x1e]
push eax
push 0xfffffffffffffff5
call sub.kernel32.dll_GetStdHandle_1
push eax
call sub.kernel32.dll_GetConsoleScreenBufferInfo
test eax, eax
je 0x4302ba
mov ax, word [ebp - 0x16]
mov word [0x436928], ax
cmp word [0x436928], 0
je 0x4302cf
mov ax, word [0x436928]
call fcn.00429de0
cmp dword [ebp - 8], 0
jne 0x43033d
push 0xffffffffffffffff
lea edx, [ebp - 0x30]
mov eax, dword [0x4369f0]
call fcn.00409578
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.0042a344
cmp byte [0x436922], 0
je 0x430318
push 0xffffffffffffffff
lea edx, [ebp - 0x34]
mov eax, dword [0x436b88]
call fcn.00409578
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.0042a344
jmp 0x43033d
cmp byte [0x436920], 0
je 0x43033d
push 0xffffffffffffffff
lea edx, [ebp - 0x38]
mov eax, dword [0x4369f4]
call fcn.00409578
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x30]
xor edx, edx
call fcn.0042a344
push 0x430394
push 0x4303b8
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a03c
mov edx, dword [0x436ca4]
mov dword [edx], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43038a
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.00406a7c
lea eax, [ebp - 0x24]
call fcn.00406a1c
ret