Function at 0x5a419cc4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.5a3c4c58
xor eax, eax
push ebp
push 0x5a419f17
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
call sub.kernel32.dll_SetLastError
push edi
xchg edi, edi
inc edi
add edi, 0x52
or edi, 0xa1
xchg edi, edi
push edi
pop edi
xchg edi, edi
inc edi
dec edi
xor edi, 0x122
inc edi
xchg edi, edi
inc edi
pop edi
lea eax, [ebp - 0x10]
call fcn.5a3c47a4
call sub.kernel32.dll_GetLastError
push ecx
push ebx
push ecx
pop ecx
push ebx
pop ebx
xor ebx, 0x9d
dec ebx
inc ecx
add ebx, 0x15
pop ebx
pop ecx
mov dl, 1
mov eax, dword [0x5a3d24d8]
call fcn.5a3c3960
mov dword [ebp - 0x1c], eax
push 1
call sub.user32.dll_IsWindowEnabled
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov al, 0x20
call fcn.5a419bdc
push 1
call sub.kernel32.dll_SetLastError
push edi
xchg edi, edi
inc edi
add edi, 0x52
or edi, 0xa1
xchg edi, edi
push edi
pop edi
xchg edi, edi
inc edi
dec edi
xor edi, 0x122
inc edi
xchg edi, edi
inc edi
pop edi
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5a419ea7
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
push 1
call sub.gdi32.dll_AbortDoc
push esi
push eax
xor esi, 0x7f
inc eax
push eax
pop eax
or eax, 0x37
xchg esi, eax
mov eax, 0xf1
and esi, 0x162
add eax, 0x2d
dec eax
xor esi, 0x7c
pop eax
pop esi
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.5a3c890c
mov dword [ebp - 0x18], eax
push esi
inc esi
mov esi, 0x1f
dec esi
and esi, 0x101
add esi, 0x15a
inc esi
push esi
pop esi
and esi, 0xf1
xchg esi, esi
or esi, 0xec
pop esi
call sub.kernel32.dll_GetLastError
push ecx
push ebx
push ecx
pop ecx
push ebx
pop ebx
xor ebx, 0x9d
dec ebx
inc ecx
add ebx, 0x15
pop ebx
pop ecx
mov eax, dword [ebp - 8]
add dword [ebp - 0x18], eax
push 1
call sub.user32.dll_IsIconic
push edx
push ecx
xchg ecx, edx
sub ecx, 0x199
and edx, 0x2a
or ecx, 0x96
push edx
pop edx
xchg ecx, ecx
pop ecx
pop edx
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x18]
call fcn.5a3c498c
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.5a3c4a70
call sub.kernel32.dll_GetLastError
push ecx
push ebx
push ecx
pop ecx
push ebx
pop ebx
xor ebx, 0x9d
dec ebx
inc ecx
add ebx, 0x15
pop ebx
pop ecx
push 1
call sub.gdi32.dll_AbortDoc
push esi
push eax
xor esi, 0x7f
inc eax
push eax
pop eax
or eax, 0x37
xchg esi, eax
mov eax, 0xf1
and esi, 0x162
add eax, 0x2d
dec eax
xor esi, 0x7c
pop eax
pop esi
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x5a419da2
call sub.kernel32.dll_GetTickCount
push eax
push esi
xor eax, 0x175
and eax, 0xda
sub esi, 0xb7
dec eax
nop
add eax, 0x10f
sub eax, 0x19e
and eax, 0x100
push eax
pop eax
mov esi, 0xd3
push esi
pop esi
or eax, 0x11
nop
nop
nop
nop
pop esi
pop eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.5a3c47f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a419f1e
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.5a3c47c8
lea eax, [ebp - 0x10]
call fcn.5a3c47a4
lea eax, [ebp - 4]
call fcn.5a3c47a4
ret