Function at 0x408ae0
Capabilities:
Get common file path
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x220
call fcn.0043c680
test al, al
je 0x408d34
lea eax, [esp + 0x18]
push 0
push 0x10
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
call fcn.00435ea0
test al, al
je 0x408d2f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, 0x76d74645
mov ebp, 0x629b7f32
mov ecx, ebx
shrd ebp, edx, cl
shr edx, cl
mov esi, 0xedae8c8a
mov edi, 0xc536fe64
shrd edi, esi, cl
mov dword [esp + 0xc], eax
shr esi, cl
test bl, 0x20
je 0x408b54
mov ebp, edx
xor edx, edx
mov edi, esi
xor esi, esi
and edi, 0xc536fe64
and esi, 0xedae8c8a
mov ebx, ebp
add ebp, 0x629b7f32
mov eax, edx
adc eax, 0x76d74645
mov ecx, 0x9d6480cd
sub ecx, ebx
mov ebx, 0x8928b9ba
sbb ebx, edx
and ecx, edi
and ebx, esi
not edi
and edi, ebp
not esi
and esi, eax
sub edi, ecx
sbb esi, ebx
mov ecx, edi
and ecx, 0xdc81b1c3
mov ebx, esi
and ebx, 0x7833d3f1
mov edx, edi
and edx, 0x237e4e3c
mov eax, edx
mov ebp, edx
xor eax, 0x237e4e3c
imul ebx, eax
mul ecx
mov dword [esp + 0x14], eax
add edx, ebx
mov ebx, esi
and ebx, 0x87cc2c0e
mov dword [esp + 8], ebx
mov eax, ebx
xor eax, 0x87cc2c0e
imul eax, ecx
add eax, edx
mov dword [esp + 0x10], eax
mov ecx, ebx
not ecx
add edi, 0x237e4e3c
adc esi, 0x87cc2c0e
add edi, 1
adc esi, 0
mov eax, ebp
mov dword [esp + 4], ebp
not ebp
mov ebx, edi
add ebx, ebp
mov edx, edi
mov edi, esi
adc edi, ecx
mov dword [esp], edi
mov edi, eax
sub edi, edx
mov eax, dword [esp + 8]
mov edx, eax
sbb edx, esi
and edx, eax
and ebp, ebx
mov eax, ebp
imul ebp, edx
mov esi, edi
and esi, dword [esp + 4]
mul esi
mov edi, eax
add ebp, edx
mov eax, dword [esp]
and ecx, eax
imul ecx, esi
add ecx, ebp
mov esi, eax
mov edx, dword [esp + 8]
and esi, edx
or eax, edx
mov dword [esp], eax
mov ebp, ebx
mov eax, dword [esp + 4]
and ebp, eax
or ebx, eax
mov eax, ebx
mul ebp
imul ebx, esi
add ebx, edx
mov edx, dword [esp]
imul edx, ebp
add edx, ebx
add edi, dword [esp + 0x14]
adc ecx, dword [esp + 0x10]
add edi, eax
adc ecx, edx
mov ebx, ecx
shr ebx, 0x15
xor ebx, ecx
mov esi, ecx
shld esi, edi, 0xb
xor esi, edi
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x408d0b
mov eax, esi
and eax, 0x69732f56
mov dword [esp], eax
mov ebp, ebx
and ebp, 0xda69266c
mov edi, esi
and edi, 0x968cd0a9
mov ecx, ebx
and ecx, 0x2596d993
mov eax, edi
xor eax, 0x968cd0a9
imul ebp, eax
mul dword [esp]
mov dword [esp + 4], eax
or esi, 0x968cd0a9
mov eax, esi
imul esi, ecx
xor ecx, 0x2596d993
imul ecx, dword [esp]
add ecx, edx
mul edi
add ecx, ebp
add esi, edx
or ebx, 0x2596d993
imul ebx, edi
add ebx, esi
add eax, dword [esp + 4]
adc ebx, ecx
mov esi, eax
mov ecx, dword [esp + 0xc]
shrd esi, ebx, cl
mov edx, ebx
shr edx, cl
test cl, 0x20
je 0x408cf3
mov esi, edx
xor edx, edx
mov ecx, esi
and ecx, eax
mov edi, edx
and edi, ebx
add esi, eax
adc edx, ebx
shld edi, ecx, 1
add ecx, ecx
sub esi, ecx
sbb edx, edi
mov ebx, edx
or ebx, 0x1010101
or esi, 0x1010101
push ebx
push esi
call fcn.0040a0f0
add esp, 8
test al, al
je 0x408d2f
call fcn.0040d260
call fcn.0040bf10
call fcn.0043d860
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]