Function at 0x492db8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf4
push ebx
push esi
mov esi, edx
mov ebx, eax
mov eax, dword [ebp + 8]
call fcn.00405af0
xor eax, eax
push ebp
push 0x493194
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
call sub.kernel32.dll_GetPriorityClass
push ecx
push esi
and ecx, 0x12f
dec ecx
dec ecx
sub esi, 0x2a
pop esi
pop ecx
mov dl, 1
mov eax, dword [0x423254]
call fcn.00403bcc
mov dword [ebp - 8], eax
push ecx
push eax
xor ecx, 0x2f
or ecx, 0x2d
push eax
pop eax
xor ecx, 0x184
add ecx, 0x164
push eax
pop eax
add ecx, 0x191
xor eax, 0x36
pop eax
pop ecx
call sub.user32.dll_DestroyCaret
mov edx, esi
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 4]
push 1
call sub.user32.dll_IsIconic
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00428470
push 0x4931a8
call sub.kernel32.dll_GlobalAddAtomW
push 0
push 0
mov eax, dword [ebx]
call fcn.00428470
call sub.user32.dll_GetActiveWindow
mov ecx, dword [ebx]
mov dl, 1
mov eax, dword [0x48a4b8]
call fcn.0048a85c
mov dword [ebp - 0xc], eax
push 1
call sub.user32.dll_GetMenuContextHelpId
push eax
push edx
dec eax
inc edx
sub eax, 0x9d
push edx
pop edx
push edx
pop edx
inc eax
nop
or edx, 0x115
xchg edx, edx
sub eax, 0xc5
xor eax, 0xe0
sub eax, 0xa5
pop edx
pop eax
xor eax, eax
push ebp
push 0x49308a
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetLastError
push ebx
nop
nop
nop
nop
mov ebx, 0xc0
push ebx
pop ebx
dec ebx
push ebx
pop ebx
and ebx, 0x179
pop ebx
lea edx, [ebp - 0x40c]
mov ecx, 0x400
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ebx, eax
test ebx, ebx
jle 0x492ff3
push 1
call sub.kernel32.dll_GetPriorityClass
push ecx
push esi
and ecx, 0x12f
dec ecx
dec ecx
sub esi, 0x2a
pop esi
pop ecx
lea edx, [ebp - 0x40c]
mov ecx, ebx
mov eax, dword [ebp - 8]
call fcn.004286dc
call sub.kernel32.dll_GetLastError
push ebx
nop
nop
nop
nop
mov ebx, 0xc0
push ebx
pop ebx
dec ebx
push ebx
pop ebx
and ebx, 0x179
pop ebx
lea edx, [ebp - 0x40c]
mov ecx, 0x400
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ebx, eax
call sub.kernel32.dll_GetTickCount
push edi
push eax
push edi
pop edi
add edi, 0x127
add eax, 0xa2
xor eax, 0xf6
inc eax
nop
nop
nop
mov eax, 0x180
sub edi, 0x17b
sub edi, 0xbb
xor eax, 0xfc
and edi, 0xef
push edi
pop edi
nop
pop eax
pop edi
call sub.kernel32.dll_GetTickCount
push edx
mov edx, 0x105
and edx, 0x37
and edx, 0x31
add edx, 0x193
and edx, 0x139
xor edx, 0x1a3
add edx, 0x35
add edx, 0x40
xchg edx, edx
xor edx, 0x41
inc edx
and edx, 0xfa
dec edx
pop edx
push edi
push eax
push edi
pop edi
add edi, 0x127
add eax, 0xa2
xor eax, 0xf6
inc eax
nop
nop
nop
mov eax, 0x180
sub edi, 0x17b
sub edi, 0xbb
xor eax, 0xfc
and edi, 0xef
push edi
pop edi
nop
pop eax
pop edi
test ebx, ebx
jg 0x492ee7
call sub.user32.dll_GetKBCodePage
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x493094
call sub.kernel32.dll_GetTickCount
push edi
push eax
push edi
pop edi
add edi, 0x127
add eax, 0xa2
xor eax, 0xf6
inc eax
nop
nop
nop
mov eax, 0x180
sub edi, 0x17b
sub edi, 0xbb
xor eax, 0xfc
and edi, 0xef
push edi
pop edi
nop
pop eax
pop edi
mov eax, dword [ebp - 0xc]
call fcn.00403bfc
call sub.kernel32.dll_GetTickCount
push edi
push eax
push edi
pop edi
add edi, 0x127
add eax, 0xa2
xor eax, 0xf6
inc eax
nop
nop
nop
mov eax, 0x180
sub edi, 0x17b
sub edi, 0xbb
xor eax, 0xfc
and edi, 0xef
push edi
pop edi
nop
pop eax
pop edi
ret