Function at 0x408f50
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
call fcn.00436c00
test al, al
je 0x4092c9
call fcn.0042ffe0
test al, al
je 0x4092c4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov edi, 0x35574f1b
shr edi, cl
mov eax, 0x35574f1b
xor edx, edx
mov esi, 0
test cl, 0x20
jne 0x408f93
mov esi, edi
mov dword [esp + 0xc], esi
mov esi, 0xffb6a3f4
shrd esi, eax, cl
test cl, 0x20
jne 0x408fa6
mov edi, esi
mov dword [esp + 4], edi
mov ebx, 0xe5545872
mov ebp, 0xe5545872
sar ebp, cl
test cl, 0x20
jne 0x408fc1
mov dword [esp + 8], ebp
jmp 0x408fcd
mov eax, 0xe5545872
sar eax, 0x1f
mov dword [esp + 8], eax
mov eax, 0x24ae05
shrd eax, ebx, cl
mov esi, 0x24ae05
test cl, 0x20
jne 0x408fe1
mov ebp, eax
mov eax, 0x1aaba78d
shr eax, cl
test cl, 0x20
jne 0x408fef
mov edx, eax
mov dword [esp], edx
mov edx, 0xffdb51fa
mov edi, 0x1aaba78d
shrd edx, edi, cl
test cl, 0x20
jne 0x409006
mov eax, edx
mov ecx, eax
and ecx, 0x5da6bf91
and ebp, 0xa259406e
or ebp, ecx
mov edx, dword [esp]
mov ecx, edx
and ecx, 0x1dd0c67c
mov edi, dword [esp + 8]
and edi, 0x22f3983
or edi, ecx
xor ebp, 0x5d821194
mov ecx, eax
and ecx, 0x24ae05
xor ecx, 0x24ae05
or ecx, ebp
xor edi, 0x18849e0e
mov ebp, edx
and ebp, 0x5545872
xor ebp, 0xe5545872
or ebp, edi
mov edi, dword [esp + 4]
or edi, 1
sub eax, edi
not eax
sbb edx, dword [esp + 0xc]
not edx
not ebx
or ebx, edx
and ebx, ebp
not esi
or esi, eax
and esi, ecx
mov eax, esi
and eax, 0xa73312a
mov dword [esp], eax
mov ecx, ebx
and ecx, 0x280a2e5
mov ebp, esi
and ebp, 0xf58cced5
mov edi, ebp
xor edi, 0xf58cced5
mov eax, edi
imul edi, ecx
mul dword [esp]
mov dword [esp + 4], eax
add edi, edx
mov ecx, ebx
and ecx, 0xfd7f5d1a
or esi, 0xf58cced5
mov eax, esi
imul esi, ecx
xor ecx, 0xfd7f5d1a
imul ecx, dword [esp]
add ecx, edi
mul ebp
add esi, edx
or ebx, 0xfd7f5d1a
imul ebx, ebp
add ebx, esi
add eax, dword [esp + 4]
adc ebx, ecx
mov ecx, ebx
shld ecx, eax, 0xb
mov esi, eax
xor esi, eax
not esi
and esi, ecx
mov ecx, ebx
shr ecx, 0x15
xor esi, eax
mov ebp, ebx
xor ebp, ebx
not ebp
and ebp, ecx
xor ebp, ebx
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x40926b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 4], eax
mov eax, esi
and eax, 0x1673ae5c
mov edi, eax
mov dword [esp], eax
mov eax, ebp
and eax, 0x1b4133a0
mov edx, eax
mov dword [esp + 0x14], eax
mov ebx, esi
not ebx
mov eax, ebx
and eax, 0xe98c51a3
mov ecx, eax
imul ecx, edx
mul edi
mov dword [esp + 0xc], eax
add edx, ecx
mov edi, ebp
not edi
mov eax, edi
and eax, 0xe4becc5f
imul eax, dword [esp]
add eax, edx
mov dword [esp + 8], eax
or edi, 0xe4becc5f
or ebx, 0xe98c51a3
add ebx, esi
adc edi, ebp
add ebx, 1
mov eax, ebx
mov dword [esp + 0x10], ebx
adc edi, 0
mov ecx, ebp
xor ecx, 0xe4becc5f
mov ebx, esi
xor ebx, 0xe98c51a3
add ebx, esi
adc ecx, ebp
sub ebx, dword [esp]
sbb ecx, dword [esp + 0x14]
mov ebp, ecx
not ebp
mov esi, ebx
not esi
and ebp, edi
and esi, eax
not eax
and eax, ebx
imul ebp, eax
mul esi
mov dword [esp], eax
add edx, ebp
mov ebp, edi
not ebp
and ebp, ecx
imul ebp, esi
add ebp, edx
mov edx, ecx
and edx, edi
or ecx, edi
mov esi, ebx
mov eax, dword [esp + 0x10]
and esi, eax
or ebx, eax
mov eax, ebx
imul ebx, edx
mul esi
add ebx, edx
imul ecx, esi
add ecx, ebx
mov esi, dword [esp]
add esi, dword [esp + 0xc]
adc ebp, dword [esp + 8]
add esi, eax
adc ebp, ecx
mov edx, esi
mov ecx, dword [esp + 4]
shrd esi, ebp, cl
mov edi, ebp
mov eax, ecx
shr ebp, cl
test al, 0x20
je 0x4091f7
mov esi, ebp
xor ebp, ebp
mov ecx, ebp
mov dword [esp + 0xc], edi
and ecx, edi
mov eax, esi
mov dword [esp], edx
and eax, edx
mov edx, eax
and edx, 0xfffffffd
mov dword [esp + 8], edx
mov edx, eax
and edx, 2
mov dword [esp + 4], edx
mov edi, eax
or edi, 0xfffffffd
add edi, 1
mov ebx, 0
adc ebx, 0xffffffff
or eax, 2
mov edx, edi
imul edx, ecx
mov dword [esp + 0x10], edx
mul dword [esp + 4]
mov dword [esp + 0x14], eax
imul ecx, dword [esp + 4]
or edx, ecx
mov dword [esp + 4], edx
mov eax, edi
mov ecx, dword [esp + 8]
mul ecx
add edx, dword [esp + 0x10]
imul ebx, ecx
add ebx, edx
sub eax, dword [esp + 0x14]
sbb ebx, dword [esp + 4]
add esi, dword [esp]
adc ebp, dword [esp + 0xc]
add esi, eax
adc ebp, ebx
mov eax, ebp
shld eax, esi, 1
lea ecx, [esi + esi]
not eax
not ecx
add ecx, esi
adc eax, ebp
mov edx, eax
xor edx, 0x1010101
mov esi, ecx
xor esi, 0x1010101
or eax, 0xfefefefe
and eax, edx
mov edx, eax
shld edx, ecx, 1
or ecx, 0xfefefefe
and ecx, esi
lea esi, [ecx + ecx]
not edx
not esi
add esi, ecx
adc edx, eax
push edx
push esi
call fcn.0040a570
add esp, 8
test al, al
je 0x4092c4
call fcn.0040d2f0
call fcn.0040c2a0
call fcn.00437c70
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]