Function at 0x401831
Capabilities:
Get common file path
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
push ebx
mov ecx, ebx
mov dword [ebp - 0x10], edi
call fcn.00401ec0
push eax
call fcn.00403cfd
pop ecx
pop ecx
push 0x405135
push 0x405158
mov ecx, ebx
call fcn.00401de9
lea ecx, [ebp - 8]
call fcn.00401ec3
push dword [ebp - 0x10]
mov esi, 0x405154
push esi
mov ecx, ebx
call fcn.00401c48
cmp eax, 0xffffffff
je 0x401a92
inc eax
push eax
push esi
mov ecx, ebx
mov dword [ebp - 0x10], eax
inc edi
call fcn.00401c48
cmp eax, 0xffffffff
jne 0x401887
test edi, edi
mov dword [ebp - 0x24], edi
je 0x401a92
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
test edi, edi
jle 0x401a92
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
push esi
lea eax, [ebp - 0x34]
push eax
call fcn.00402081
mov ecx, eax
call fcn.00401ec0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f14
lea ecx, [ebp - 8]
call fcn.00402064
lea ecx, [ebp - 0x34]
call fcn.00401f45
push 0x405135
lea ecx, [ebp - 8]
call fcn.00401e70
test eax, eax
je 0x401900
inc dword [ebp - 0xc]
jmp 0x401a86
lea ecx, [ebp - 0x2c]
call fcn.00401ec3
push 0
push 0x2c
lea ecx, [ebp - 8]
or ebx, 0xffffffff
call fcn.00401c9d
mov edi, eax
cmp edi, 0xffffffff
je 0x401962
push edi
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 8]
call fcn.00401fbd
mov ecx, eax
call fcn.00401ec0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f14
lea ecx, [ebp - 0x2c]
call fcn.00402064
lea ecx, [ebp - 0x4c]
call fcn.00401f45
inc edi
push edi
push 0
lea ecx, [ebp - 8]
call fcn.00401ccc
lea ecx, [ebp - 0x2c]
call fcn.00401e4c
mov ebx, eax
push 0x100
lea eax, [ebp - 0x14c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryA]
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00401f14
push str.System32_
lea ecx, [ebp - 0x18]
call fcn.00401c10
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 8]
call fcn.00401d4d
inc eax
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 8]
call fcn.00401f57
mov ecx, eax
call fcn.00401ec0
push eax
lea ecx, [ebp - 0x18]
call fcn.00401e84
lea ecx, [ebp - 0x3c]
call fcn.00401f45
lea ecx, [ebp - 0x18]
call fcn.00401ec0
push eax
lea ecx, [ebp - 8]
call fcn.00401ec0
push eax
call fcn.00403861
test eax, eax
pop ecx
pop ecx
je 0x401a73
lea ecx, [ebp - 0x18]
call fcn.00401ec0
cmp ebx, 0xffffffff
mov dword [ebp - 0x1c], eax
jne 0x4019fc
push eax
call fcn.004015d3
pop ecx
jmp 0x401a73
push 0x80000000
lea ecx, [ebp - 0x18]
call fcn.00401ec0
push eax
call fcn.004037ec
pop ecx
pop ecx
mov edi, eax
push 0
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
push edi
mov dword [ebp - 0x20], eax
call dword [0x40604c]
cmp dword [ebp - 0x20], ebx
jne 0x401a6a
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 8]
call fcn.00401d4d
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 8]
call fcn.00401f57
mov ecx, eax
call fcn.00401ec0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f14
call fcn.004016b1
pop ecx
pop ecx
lea ecx, [ebp - 0x44]
call fcn.00401f45
push dword [ebp - 0x1c]
jmp 0x4019f4
push dword [ebp - 0x1c]
call dword [0x406040]
inc dword [ebp - 0xc]
lea ecx, [ebp - 0x18]
call fcn.00401f45
lea ecx, [ebp - 0x2c]
call fcn.00401f45
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jl 0x4018b5
lea ecx, [ebp - 8]
call fcn.00401f45
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret