Function at 0x1acd30
Capabilities:
Encode data using xor
Terminate process

Disassembly:
push esi
sub esp, 0x14
call fcn.001e0a80
test al, al
je 0x1acfa3
call dword [sym.imp.USER32.dll_GetInputState]
mov esi, eax
call fcn.001d8510
test al, al
je 0x1acf9e
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [esp + 8], 0x4205505d
mov dword [esp + 0xc], 0xb6a862b6
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x1acdd3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x8622e9d5
and eax, 0x622e9d5
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0x29
and eax, 0x56
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x1acd90
mov dword [esp + 8], 0x620bdd9d
mov dword [esp + 0xc], 0x5003a68f
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 8
ja 0x1ace39
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x8237526e
and eax, 0x237526e
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xda
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 9
jb 0x1ace00
test esi, esi
je 0x1acf19
mov dword [esp + 8], 0x919e9f7f
mov byte [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x1aceb0
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x79f14765
mov esi, eax
xor esi, 0x60eb89a
or eax, 0x79f14765
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xf9
and eax, 6
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x1ace60
mov dword [esp + 8], 0x9b09b3d9
mov dword [esp + 0xc], 0x41547886
mov dword [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x1acf19
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x9ef5b21
and eax, 0x9ef5b21
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x5b
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x1acee0
mov dword [esp + 8], 0x82838081
mov dword [esp + 0xc], 0x86878485
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x1acf8b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x376ba7a0
add eax, eax
and eax, 0x6ed74f40
mov esi, eax
and esi, edx
xor eax, edx
lea eax, [eax + esi*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0x20
and eax, 0x5f
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x1acf40
call fcn.001ae020
test al, al
je 0x1acf9e
call fcn.001b0e60
call fcn.001afa70
call fcn.001e1b50
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]