Function at 0x40fa70
Capabilities:
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4257b8
push 0x41b56c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov eax, 0x3a44
call fcn.0041adb0
push ebx
push esi
push edi
lea ecx, [ebp - 0x3638]
call fcn.00406d80
xor ebx, ebx
xor esi, esi
mov dword [ebp - 4], ebx
call fcn.0040ab80
mov dword [ebp - 0x384c], eax
call fcn.0040fd70
push 0x104
lea eax, [ebp - 0x373c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x373c]
push ecx
call fcn.0040a990
add esp, 4
push str.msime95.ini
lea edx, [ebp - 0x373c]
push edx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call edi
mov dword [ebp - 0x3744], ebx
lea eax, [ebp - 0x373c]
push eax
push 0x80000001
call fcn.0040a9c0
add esp, 8
cmp eax, 4
ja case.default.0x40fb17
jmp dword [eax*4 + 0x40fd5c]
push 0x80000001
lea ecx, [ebp - 0x3638]
call fcn.00407060
push ebx
lea ecx, [ebp - 0x3848]
push ecx
push 0x80000001
call fcn.0040b290
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x3740], esi
jmp 0x40fc26
push 0x80000001
lea ecx, [ebp - 0x3638]
call fcn.004084b0
push ebx
lea edx, [ebp - 0x3848]
push edx
push 0x80000001
call fcn.0040b5a0
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x3740], esi
jmp 0x40fc26
push 0x80000001
lea ecx, [ebp - 0x3638]
call fcn.00408b90
push ebx
lea eax, [ebp - 0x3848]
push eax
push 0x80000001
call fcn.0040b770
add esp, 0xc
mov esi, eax
mov dword [ebp - 0x3740], esi
mov dword [ebp - 0x3744], 1
jmp 0x40fc26
push 0x80000001
lea ecx, [ebp - 0x3638]
call fcn.004091c0
lea ecx, [ebp - 0x3848]
push ecx
push 0x80000001
call fcn.0040b940
add esp, 8
mov esi, eax
mov dword [ebp - 0x3740], esi
jmp 0x40fc26
lea edx, [ebp - 0x373c]
push edx
lea ecx, [ebp - 0x3638]
call fcn.00409540
lea eax, [ebp - 0x3848]
push eax
lea ecx, [ebp - 0x373c]
push ecx
call fcn.0040b9b0
add esp, 8
mov esi, eax
mov dword [ebp - 0x3740], esi
jmp 0x40fc26
lea ecx, [ebp - 0x3638]
call fcn.00406f00
cmp esi, ebx
je 0x40fcfa
call fcn.004116f0
test eax, eax
jne 0x40fcea
cmp dword [ebp - 0x384c], ebx
je 0x40fcea
push str.imjp81u.dic
lea eax, [ebp - 0x3950]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x2e
lea ecx, [ebp - 0x3950]
push ecx
call fcn.0041a520
add esp, 8
mov dword [ebp - 0x3954], eax
cmp eax, ebx
je 0x40fcc0
mov byte [eax], bl
mov dword [ebp - 0x3958], 0x104
lea edx, [ebp - 0x3958]
push edx
lea eax, [ebp - 0x3a5c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x42d5a4
lea ecx, [ebp - 0x3950]
push ecx
call edi
lea edx, [ebp - 0x3a5c]
push edx
lea eax, [ebp - 0x3950]
push eax
call edi
push str..dic
lea ecx, [ebp - 0x3950]
push ecx
call edi
lea edx, [ebp - 0x3950]
push edx
lea eax, [ebp - 0x3848]
push eax
call fcn.0040ac10
add esp, 8
lea ecx, [ebp - 0x3950]
push ecx
lea ecx, [ebp - 0x3638]
call fcn.004098b0
jmp 0x40fcfa
push ebx
lea edx, [ebp - 0x3848]
push edx
call fcn.0040ac10
add esp, 8
call fcn.0040fe00
test eax, eax
je 0x40fd07
push 1
jmp 0x40fd08
push ebx
lea ecx, [ebp - 0x3638]
call fcn.004098e0
push str.SoftwareMicrosoftIMEJP8.1
push 0x80000001
lea ecx, [ebp - 0x3638]
call fcn.00409a30
mov dword [ebp - 4], 0xffffffff
call fcn.0040fd45
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret