Function at 0x401841
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.00401ed0
push eax
call fcn.00403d15
pop ecx
pop ecx
push 0x405135
push 0x405158
mov ecx, ebx
call fcn.00401df9
lea ecx, [ebp - 8]
call fcn.00401ed3
push dword [ebp - 0x10]
mov esi, 0x405154
push esi
mov ecx, ebx
call fcn.00401c58
cmp eax, 0xffffffff
je 0x401aa2
inc eax
push eax
push esi
mov ecx, ebx
mov dword [ebp - 0x10], eax
inc edi
call fcn.00401c58
cmp eax, 0xffffffff
jne 0x401897
test edi, edi
mov dword [ebp - 0x24], edi
je 0x401aa2
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
test edi, edi
jle 0x401aa2
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
push esi
lea eax, [ebp - 0x34]
push eax
call fcn.00402091
mov ecx, eax
call fcn.00401ed0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f24
lea ecx, [ebp - 8]
call fcn.00402074
lea ecx, [ebp - 0x34]
call fcn.00401f55
push 0x405135
lea ecx, [ebp - 8]
call fcn.00401e80
test eax, eax
je 0x401910
inc dword [ebp - 0xc]
jmp 0x401a96
lea ecx, [ebp - 0x2c]
call fcn.00401ed3
push 0
push 0x2c
lea ecx, [ebp - 8]
or ebx, 0xffffffff
call fcn.00401cad
mov edi, eax
cmp edi, 0xffffffff
je 0x401972
push edi
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 8]
call fcn.00401fcd
mov ecx, eax
call fcn.00401ed0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f24
lea ecx, [ebp - 0x2c]
call fcn.00402074
lea ecx, [ebp - 0x4c]
call fcn.00401f55
inc edi
push edi
push 0
lea ecx, [ebp - 8]
call fcn.00401cdc
lea ecx, [ebp - 0x2c]
call fcn.00401e5c
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.00401f24
push str.System32_
lea ecx, [ebp - 0x18]
call fcn.00401c20
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 8]
call fcn.00401d5d
inc eax
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 8]
call fcn.00401f67
mov ecx, eax
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x18]
call fcn.00401e94
lea ecx, [ebp - 0x3c]
call fcn.00401f55
lea ecx, [ebp - 0x18]
call fcn.00401ed0
push eax
lea ecx, [ebp - 8]
call fcn.00401ed0
push eax
call fcn.00403879
test eax, eax
pop ecx
pop ecx
je 0x401a83
lea ecx, [ebp - 0x18]
call fcn.00401ed0
cmp ebx, 0xffffffff
mov dword [ebp - 0x1c], eax
jne 0x401a0c
push eax
call fcn.004015db
pop ecx
jmp 0x401a83
push 0x80000000
lea ecx, [ebp - 0x18]
call fcn.00401ed0
push eax
call fcn.00403804
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 0x401a7a
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 8]
call fcn.00401d5d
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 8]
call fcn.00401f67
mov ecx, eax
call fcn.00401ed0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401f24
call fcn.004016b9
pop ecx
pop ecx
lea ecx, [ebp - 0x44]
call fcn.00401f55
push dword [ebp - 0x1c]
jmp 0x401a04
push dword [ebp - 0x1c]
call dword [0x406040]
inc dword [ebp - 0xc]
lea ecx, [ebp - 0x18]
call fcn.00401f55
lea ecx, [ebp - 0x2c]
call fcn.00401f55
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jl 0x4018c5
lea ecx, [ebp - 8]
call fcn.00401f55
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret