Function at 0x1000b8c0
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], dh
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax - 0x60], dl
push cs
add byte [eax], al
add byte [eax], dh
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [edx - 0x60], dl
push cs
add byte [eax], al
add byte [eax], dh
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [ebx - 0x60], dl
push cs
add byte [eax], al
add byte [eax], dh
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax + 0xe], al
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 8], ah
add eax, dword [eax]
xchg dword [eax + 0xa], esp
add byte [eax], al
add byte [eax], al
adc byte [edx + 0x65], ah
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte fs:[eax], al
mov dword [0x13], eax
inc edx
push edi
inc ebx
dec eax
inc ebp
inc ebx
dec ebx
push edx
push esp
inc edi
inc ecx
add byte [ecx - 0x5d], dl
or byte [eax], al
add byte [eax], al
add byte [eax], al
push ebx
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
push esp
mov dword [0xa], eax
add byte [eax], al
cmp byte [edi], 0x56
mov dword [0xa], eax
add byte [eax], al
cmp byte [edi], 0x58
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
pop edx
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
pop esp
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
and dword [eax + 6], 0x738000
add byte [eax], al
add dword [eax + 0x59], eax
add al, byte [eax + 0x11]
inc ecx
push esi
inc ebp
pop edi
push edx
inc ebp
dec esi
inc esp
inc ebp
push edx
add bh, bh
or byte [eax], 0
add byte [eax], al
add byte [eax], al
sti
or byte [edx], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
cli
or byte [edx], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
stc
and byte [esi], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
out dx, eax
adc byte [eax + eax], 0
add byte [esi + 0x66], ah
out 0x3e, al
xor esi, dword [ebx]
xor edi, dword [edi]
add byte [eax], al
cmp byte [edi], 2
add bh, bh
scasd eax, dword es:[edi]
lea eax, [ecx]
add byte [eax], al
add byte [eax + 0x16], ah
inc ebx
dec eax
inc ebp
inc ebx
dec ebx
inc ebp
push edx
and byte [edi + 0x50], cl
inc ecx
inc ebx
dec ecx
push esp
pop ecx
add byte [eax], dl
mov al, byte [reloc.USER32.dll_SetCursor]
adc dword [eax], eax
or dword [eax], eax
add byte [eax], al
xor byte [edx + edi], 0x20
mov al, byte [reloc.USER32.dll_SetCursor]
adc dword [eax], eax
or dword [eax], eax
add byte [eax], al
xor byte [edx + edi], 0x30
mov al, byte [reloc.USER32.dll_SetCursor]
adc dword [eax], eax
or dword [eax], eax
add byte [eax], al
std
jecxz 0x1000b9f0
inc eax
mov al, byte [reloc.KERNEL32.dll_GetStringTypeA]
xor byte [eax], al
or byte [eax], al
add byte [eax], al
and al, 0
inc ecx
mov al, byte [reloc.KERNEL32.dll_GetStringTypeA]
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
push eax
mov al, byte [reloc.KERNEL32.dll_GetStringTypeA]
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
push edx
mov al, byte [reloc.KERNEL32.dll_GetStringTypeA]
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
push ebx
mov al, byte [reloc.KERNEL32.dll_GetStringTypeA]
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
test byte [eax + 0xe], ah
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 8], ah
add eax, dword [eax]
xchg dword [eax + 0xa], esp
add byte [eax], al
add byte [eax], al
adc byte [edx + 0x65], ah
xor byte [eax], al
or byte [eax], al
add byte [eax], al
add byte fs:[eax], al
mov dword [0x13], eax
inc edx
push edi
inc ebx
dec eax
inc ebp
inc ebx
dec ebx
push edx
push esp
inc edi
inc ecx
add byte [ecx - 0x5d], dl
or byte [eax], al
add byte [eax], al
add byte [eax], al
push ebx
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
push esp
mov dword [0xa], eax
add byte [eax], al
cmp byte [edi], 0x56
mov dword [0xa], eax
add byte [eax], al
cmp byte [edi], 0x58
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
pop edx
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
pop esp
mov dword [0xa], eax
add byte [eax], al
add byte [eax], al
and dword [eax + 6], 0x738000
add byte [eax], al
add dword [eax + 0x59], eax
add al, byte [eax + 0x11]
inc ecx
push esi
inc ebp
pop edi
push edx
inc ebp
dec esi
inc esp
inc ebp
push edx
add bh, bh
or byte [eax], 0
add byte [eax], al
add byte [eax], al
sti
or byte [edx], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
cli
or byte [edx], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
stc
and byte [esi], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
out dx, eax
adc byte [eax + eax], 0
add byte [ecx - 0x7ec0ff80], al
add byte [eax], 0x3f
invalid