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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x220
call fcn.0043c330
test al, al
je 0x408b83
call fcn.00435460
test al, al
je 0x408b7e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov edi, 0xee276bc6
mov eax, 0xfbdc182e
shrd eax, edi, cl
shr edi, cl
test cl, 0x20
je 0x40890e
mov eax, edi
xor edi, edi
mov ecx, eax
xor ecx, 0xfbdc182e
mov esi, ecx
mov ebx, edi
xor ebx, 0xee276bc6
mov dword [esp + 8], ebx
mov dword [esp], eax
xor eax, 0x4022391
mov edx, edi
mov dword [esp + 4], edi
xor edx, 0x1d01030
and eax, 0x95d22bb3
and edx, 0x2fd372b0
mov ebp, ecx
mov dword [esp + 0x14], ecx
and ecx, 0x6a2dd44c
or ecx, eax
mov eax, ebx
and eax, 0xd02c8d4f
or eax, edx
mov edx, dword [esp]
mov ebx, edx
xor ebx, 0x82c80022
xor ecx, 0x173b0850
and ebx, 0x82e923e3
or ebx, ecx
mov esi, edi
xor esi, 0x2076246
xor eax, 0x2d8c84c6
and esi, 0x25ff676
or esi, eax
mov ecx, edx
xor ecx, 0x86cac432
mov edi, ecx
and edi, ebp
not ebx
not esi
mov eax, edi
mul ebx
mov dword [esp + 0xc], eax
imul esi, edi
add esi, edx
mov edx, dword [esp + 4]
mov ebp, edx
xor ebp, 0x1387624f
mov eax, ebp
mov edi, dword [esp + 8]
and eax, edi
imul ebx, eax
add ebx, esi
mov esi, dword [esp]
and esi, 0x82e923e3
mov eax, edx
and eax, 0x25ff676
xor esi, 0x7d37ffdd
xor eax, 0xfdf89db9
mov edx, dword [esp + 0x14]
add esi, edx
adc eax, edi
add esi, 1
mov dword [esp], esi
adc eax, 0
mov dword [esp + 4], eax
mov eax, edx
mov esi, edx
and eax, 0x82e923e3
mov edx, edi
and edx, 0x25ff676
add ecx, esi
adc ebp, edi
sub ecx, eax
sbb ebp, edx
mov eax, ecx
imul ecx, dword [esp + 4]
mov esi, dword [esp]
mul esi
mov edi, eax
imul ebp, esi
add ebp, edx
add ebp, ecx
add edi, dword [esp + 0xc]
adc ebp, ebx
lea eax, [esp + 0x18]
push 0
push 0x10
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov esi, ebp
shld esi, edi, 0x16
mov ebx, ebp
shr ebx, 0xa
xor ebx, ebp
xor esi, edi
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x408b31
mov ecx, dword [esp + 0x10]
and cl, 0xf
mov edi, esi
shrd edi, ebx, cl
mov edx, ebx
shr edx, cl
xor edi, esi
xor edx, ebx
mov eax, edi
or eax, 0xb49b2225
mov ecx, edx
or ecx, 0x7db204b9
mov ebx, edi
and ebx, 0xb49b2225
mov esi, edx
mov ebp, edx
and esi, 0x7db204b9
imul esi, eax
mul ebx
mov dword [esp + 4], eax
add esi, edx
imul ebx, ecx
add ebx, esi
mov dword [esp + 0xc], ebx
mov ebx, edi
not ebx
mov eax, ebp
mov ecx, ebp
not ecx
or ebx, 0x4b64ddda
or ecx, 0x824dfb46
add ebx, edi
adc ecx, ebp
add ebx, 1
adc ecx, 0
shld ebp, edi, 1
lea esi, [edi + edi]
not esi
add esi, edi
not ebp
adc ebp, eax
and esi, 0xb49b2225
and ebp, 0x7db204b9
mov edi, esi
or edi, ebx
mov eax, esi
and eax, ebx
mov dword [esp], eax
mov eax, edi
mul dword [esp]
mov dword [esp + 8], eax
mov eax, ebp
and eax, ecx
imul eax, edi
add eax, edx
mov edx, ebp
or edx, ecx
mov edi, dword [esp]
imul edi, edx
add edi, eax
mov dword [esp], edi
mov edi, ebp
not edi
and edi, ecx
not ecx
and ecx, ebp
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
imul ecx, eax
mul ebx
imul ebx, edi
add ebx, edx
add ebx, ecx
mov esi, eax
add esi, dword [esp + 4]
adc ebx, dword [esp + 0xc]
add esi, dword [esp + 8]
adc ebx, dword [esp]
mov eax, esi
and eax, 0x1010101
mov ecx, ebx
and ecx, 0x1010101
lea edx, [esi + esi]
lea edi, [ebx + ebx]
and edi, 0x2020202
and edx, 0x2020202
add esi, 0x1010101
adc ebx, 0x1010101
sub esi, edx
sbb ebx, edi
or ebx, ecx
or esi, eax
push ebx
push esi
call fcn.00409d10
add esp, 8
test al, al
je 0x408b7e
call fcn.0040c850
call fcn.0040b740
call fcn.0043c740
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]