Function at 0x401154
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push ebx
push esi
push edi
lea eax, [ebp - 0x144]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov word [ebp - 0x148], 0
jmp 0x401187
inc word [ebp - 0x148]
movsx eax, word [ebp - 0x148]
cmp eax, 0x10
jge 0x4015ef
push 0xa
lea eax, [ebp - 0x44]
push eax
movsx eax, word [ebp - 0x148]
inc eax
push eax
call fcn.00406160
add esp, 0xc
push str.Machine
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x3c]
push eax
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
add eax, ecx
add eax, 0x4093f0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409414], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409416], 6
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409418], 2
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x40941a], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x40941c], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x40941e], 1
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409420], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409422], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409424], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409426], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409428], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x40942a], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x40942e], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409430], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409432], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409434], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409436], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409438], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x40943a], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409454], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409453], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x40944f], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409452], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409451], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409450], 0
push 8
push 0xffffffffffffffff
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
add eax, ecx
add eax, 0x4093f0
add eax, 0x4b
push eax
call fcn.004041b0
add esp, 0xc
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x409443], 0
push 8
push 0xffffffffffffffff
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
add eax, ecx
add eax, 0x4093f0
add eax, 0x55
push eax
call fcn.004041b0
add esp, 0xc
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov byte [eax + ecx + 0x40944d], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409456], 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
mov word [eax + ecx + 0x409458], 3
push 0x3e6
push 0
movsx eax, word [ebp - 0x148]
mov ecx, eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*2]
lea eax, [eax + eax*8]
add eax, ecx
add eax, 0x4093f0
add eax, 0x70
push eax
call fcn.004041b0
add esp, 0xc
jmp 0x401180
pop edi
pop esi
pop ebx
leave
ret