Function at 0x462fb0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], edx
xor eax, eax
push ebp
push 0x46329e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00404088
lea edx, [ebp - 0x78]
mov eax, dword [0x46515c]
mov eax, dword [eax]
call fcn.00458a7c
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 8]
call fcn.004088ac
lea ecx, [ebp - 0x7c]
mov edx, 0x4632b4
mov eax, dword [ebp - 8]
call fcn.00408818
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 8]
call fcn.00404120
mov dword [0x466d6c], 0xc8
mov dword [0x466d68], 0x466c68
mov eax, dword [0x466d6c]
push eax
mov eax, dword [0x466d68]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea edx, [ebp - 0xc]
mov eax, dword [0x466d68]
call fcn.00408bc8
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00404348
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0xc]
call fcn.004045a8
mov eax, dword [ebp - 0x80]
mov edx, 0x4632c4
call fcn.00404494
je 0x463090
lea eax, [ebp - 0xc]
mov edx, 0x4632c4
call fcn.00404350
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.00404394
mov eax, dword [ebp - 8]
call fcn.00408788
test al, al
je 0x4630ba
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.004040dc
jmp 0x463273
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404120
xor eax, eax
push ebp
push 0x463106
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x20
lea edx, [ebp - 0x84]
mov eax, dword [0x46515c]
mov eax, dword [eax]
call fcn.00458a7c
mov ecx, dword [ebp - 0x84]
mov dl, 1
mov eax, dword [0x415a18]
call fcn.00419858
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46311a
mov cx, 2
mov edx, 0xfffffff8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x74]
mov ecx, 8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp eax, 8
je 0x46314d
mov eax, dword [ebp - 0x10]
call fcn.00403338
jmp 0x463273
lea eax, [ebp - 8]
call fcn.00404088
mov esi, 8
lea ebx, [ebp - 0x74]
lea eax, [ebp - 0x88]
mov dl, byte [ebx]
call fcn.00404270
mov edx, dword [ebp - 0x88]
lea eax, [ebp - 8]
call fcn.00404350
inc ebx
dec esi
jne 0x46315d
mov eax, dword [ebp - 8]
mov edx, 0x4632d0
call fcn.00404494
je 0x463198
mov eax, dword [ebp - 0x10]
call fcn.00403338
jmp 0x463273
mov cx, 2
mov edx, 0xfffffff4
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
lea edx, [ebp - 0x74]
mov ecx, 4
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp eax, 4
je 0x4631cb
mov eax, dword [ebp - 0x10]
call fcn.00403338
jmp 0x463273
xor ebx, ebx
mov bl, byte [ebp - 0x71]
shl ebx, 0x18
xor eax, eax
mov al, byte [ebp - 0x72]
shl eax, 0x10
add ebx, eax
xor eax, eax
mov al, byte [ebp - 0x73]
shl eax, 8
add ebx, eax
xor eax, eax
mov al, byte [ebp - 0x74]
add ebx, eax
test ebx, ebx
jne 0x4631fc
mov eax, dword [ebp - 0x10]
call fcn.00403338
jmp 0x463273
mov eax, ebx
mov edx, 0xffffffd8
sub edx, eax
mov cx, 2
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
call dword [esi + 0x14]
xor eax, eax
push ebp
push 0x463256
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xffff
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x415a18]
call fcn.00419858
mov esi, eax
mov eax, ebx
xor edx, edx
push edx
push eax
mov edx, dword [ebp - 0x10]
mov eax, esi
call fcn.00419640
mov eax, esi
call fcn.00403338
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x463260
mov eax, dword [ebp - 0x10]
call fcn.00403338
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
call fcn.004040dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4632a5
lea eax, [ebp - 0x88]
mov edx, 5
call fcn.004040ac
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004040ac
ret