Function at 0x105d69a
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x13912f4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
and dword [ebp - 0x18], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0xc]
push 0x1005198
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], esi
call fcn.01044026
call fcn.0103bc4e
shl byte [edx + 0x31e036], 0
inc eax
mov esp, 0x5d6036a2
push ecx
or edx, eax
call fcn.01102ea6
adc al, 0xaf
xor eax, 0x2fe093b0
adc byte [edx], dh
add dword [eax], eax
mov al, byte [0x8035af18]
test esi, esi
jne 0x105d8a5
call fcn.0103bfc7
inc eax
sbb eax, 0x182039
add byte [eax + 0x20391d44], dl
inc edx
clc
add esi, dword [eax - 0x18]
test eax, 0xd4fffde8
fnstenv [0x7f0]
and al, bl
fnstenv [0x2d95df10]
push eax
call fcn.0103c773
sub eax, dword [eax]
add byte [eax + 0x30357cf8], ah
jge 0x105d76d
xor edx, dword [eax + 0x50357cfc]
mov ebx, 0x80070057
mov eax, dword [0x136ec90]
cmp eax, 0x136ec90
je 0x105d7c1
call fcn.010906e8
mov dh, 0x13
sub esp, eax
push cs
jo 0x105d7c2
push cs
add byte ss:[ecx], dh
add byte [eax], al
shr al, 0x59
call 0xdb6ad76d
xor eax, 0xe010
pushal
push 0xe74035da
nop
sub eax, 0x3c40f6e0
add dh, byte [ebp + edi - 0x18]
add ch, ah
std
push dword [eax]
invalid
jmp dword [edx + ebx*8 + 0x35]
call fcn.0103bfc7
test ch, al
jo 0x105d7e1
add eax, ebp
std
inc dword [ebp + eax*8 + 0x167036]
add byte [eax - 0x78], dl
lds esi, [esi]
pushal
add byte [eax], al
push eax
mov ch, al
pushal
mov ebx, 0xe880092b
in al, dx
out 0xfd, eax
push dword [eax + edi*2 + 0x36]
nop
mov al, byte [0x78900000]
js 0x105d81c
add byte [eax - 0x6fc98788], dl
nop
popfd
sbb eax, 0x9be8a00f
wait
jmp 0x105d7ec
push eax
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x105d868
call fcn.01102ea6
mov al, 0xc9
mov al, 0x6d
std
or al, al
pop ss
add byte [eax], al
sal byte [ecx + ecx*8 - 0x55172fca], 0x2e
add eax, dword [eax]
shr al, 1
stosb byte es:[edi], al
add eax, dword cs:[eax]
jl 0x105d895
sub ah, al
mov word [edi], ds
nop
mov byte [edi], bl
loopne 0x105d7e1
add byte [eax], al
jo 0x105d837
cmp bl, ch
std
jmp esp
call fcn.01298d5a
and eax, dword [eax]
jl 0x105d8d7
cmp byte ss:[edi + 0x78100001], 0x68
loopne 0x105d8dd
mov ebx, 0x4d8b800f
cld
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0103e3fb
call fcn.0103bc4e
cld
xor byte ss:[eax], al
add byte [eax], dl
clc
inc eax
add byte [eax], al
adc al, bh
and byte ss:[eax + ecx*8], 0xf
jo 0x105d86b
ret 0x14
call fcn.012e6715
cld
mov gs, word [eax]
add ah, bh
sal byte [esi], 0x20
adc al, 0
add byte [eax + 0x13], ah
dec ebx
or eax, edx
clc
sal byte [esi], 0x60
call fcn.010906e8
fistp dword [ecx + 0x2c]
sar byte [eax - 0x4b5fca0d], 1
xor eax, 0xae60
push eax
call fcn.0103bc4e
loopne 0x105d8a7
xor eax, 0x3cb0
mov al, 0x3c
add byte [eax], al
invalid
sal dword [0x2df70500], 1
mov al, byte [0xa55bde8]
add al, ah
sal byte [0x2e017c80], 1
xor byte [edi - 0x1b600000], bl
sal byte [0xea8de8c0], 1
std
inc dword [edx]
xor eax, 0x1a350
and cl, 0x64
xor byte [eax], al
mov byte [0x47e83035], al
mov ah, 0x23
add byte [eax + 0x17a03563], bh
add byte [eax], al
inc eax
mov ah, 0x63
xor eax, 0x345c7fe0
nop
mov esi, dword [0x138a9c8]
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x18]
call fcn.0105b36a
call fcn.01102ea6
jo 0x105d97f
mov al, 0xbb
xchg dword [ecx], edx
pushal
fadd qword [ecx]
add byte [eax], dh
je 0x105d98b
shr al, 1
sub esp, ebp
or al, byte [eax]
push esp
iretd
enter 0x36ea, 0x70
mov edx, 0xe8100457
into
mov bl, 0x23
add byte [eax + 0x16d036df], bl
add byte [eax], al
jo 0x105d929
fbstp tbyte [esi]
mov al, byte [0xa004eb69]
mov ebx, eax
test ebx, ebx
jl 0x105d748
call fcn.012e6715
pop esp
xor dword [esi], esi
sal byte [ecx + 1], 0
pushal
push ecx
and eax, 0x3158d029
sub al, 0xb8
jmp 0x105d9c9
mov cl, 0x35
pushal
out 0xc5, al
das
push eax
mov edi, dword [ebp - 0x1c]
lea esi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x105d7c1