Function at 0x105a90
Capabilities:
Encode data using xor

Disassembly:
sar bh, cl
invalid
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
je 0x105f5e
jne 0x105f5e
mov eax, dword [0xe91580]
adc dword [ecx - 0x3deecaae], edi
mov eax, 0x106de560
lea ecx, [esi + 0x37c]
cmp byte [ebx + 0xac], 1
push 0xadae0c
push 0xa29f90
mov eax, dword [0x112ae170]
push 0xacc620
push 0x114849e0
mov dword [0x100ce454], eax
lea esi, [eax*4]
jge 0x105af5
or dword [esi - 0x6c], edi
loopne 0x105a6f
jp 0x105a98
int 0x7c
invalid
mov ebx, dword [esi + 0x24]
sub ecx, dword [esi + 0x2c]
mov eax, edi
sub eax, ebx
je 0x105b33
jne 0x105b33
push 0x7b3480
call dword [0x100f63c4]
jmp dword [eax*4 + 0x475b34]
cmp eax, ecx
jbe 0x105b3e
add byte [eax], al
add byte [ebp + 0x5d8b0b14], cl
or byte [ebx - 0x75], dl
into
lea edx, [ebx + ecx]
mov ebx, dword [ebp + 8]
push ebx
mov ecx, esi
call fcn.00105fd0
test eax, eax
je 0x105d46
jne 0x105d46
call dword [0x69783540]
lea ebp, [ebx*4 + 1]
add byte [ebp - 0x70], dl
push 0x100ee084
push 0x9b8e10
movzx eax, byte [eax + 0x11120b64]
mov dword [0x1069bd0], ebx
call dword [0x43a1d0]
cmp byte [0x3155200], bl
push 0x102f9fd8
push 0xa55714
mov edi, dword [0x42d3f8]
pop dword [0x106e5758]
push 0x100df150
inc ebx
movsd dword es:[edi], dword [esi]
pop ecx
mov byte [0xc76db7cb], al
jbe 0x105b38
mov dword [esi + 0x30], eax
inc esi
xor byte [ebx - 0x17317429], cl
xchg byte [ebp - 0x3b170000], cl
add al, byte [eax]
add byte [eax - 0xc], ch
cmp dword [edi + 0x64dc6800], 0x7c
imul ecx, dword [ebx + 0x22cd840d], 0x4498b11
lea edi, [ebp - 0x18]
mov eax, 0x10351cdc
push 0x11260e20
mov dword [0x101f7d38], eax
push 0x113aa530
mov dword [0xf35dd0], eax
push 0x697b28c0
mov byte [0xceb23d], al
mov word [0x43ab50], ss
call dword [0x104b535c]
cmp byte [0xd2b34f], 0
jmp dword [ecx*4 + 0x74c95c]
mov edx, edi
mov ecx, esi
call fcn.0010e940
jmp 0x105e83
xor eax, eax
pop edi
jmp 0x105c90
pop esi
pop ebx
pop ebp
ret 4
jae 0x105def
push 0x1052bc
ret
jne 0x105c27
je 0x105d9f
jne 0x105d9f
push 0xc00da0
mov eax, dword [0x44cb60]
mov eax, dword [0x112b426c]
mov eax, dword [esi*8 + 0xcd37f4]
cmp eax, 0x3dce1132
mov dword [eax + esi - 0x74], ecx
mov esi, dword [ebp - 0x448]
mov edx, dword [0xd0275c]
mov edx, dword [0x43cf80]
push 0x11541b60
inc edx
jnp 0x105de2
adc dword [ecx + 0x68], 0xc99b687c
invalid
mov eax, dword [esi + 0xc]
cmp dword [esi + 0x2c], eax
jb 0x105bb1
je 0x105bae
jne 0x105bae
mov ecx, dword [0x1152bdd0]
fld qword [0x697e2f80]
push 0x114b2648
mov dl, byte [ebp - 0x230]
lea edi, [edx + eax + 0x50868]
out 0x76, al
dec ecx
cld
push eax
aaa
dec esp
jae 0x105def
cmp dword [esi + 0x48], 0x112
jb 0x105f66
cmp dword [esi + 0x48], 0x112
jmp 0x105e2b
jbe 0x105c25
je 0x105f0a
jne 0x105f0a
mov eax, 0xa122a0
cmp esi, dword [ebx + 0x1000]
push 0xb5dd24
push 0x100d4a00
push 0x114ce030
push 0x10047ef8
push 0x508284
push 0x442
push 0xb23588
mov eax, 0x10dd41ac
xor eax, dword [edi + 0x71]
jae 0x105e57
arpl di, bx
sbb eax, 0xdc936c42
mov dl, 0x4e
xchg ecx, eax
xor edi, ebp
mov esi, 0x247e3990
cmp dword [esi + 0x24], edi
jmp 0x105d0b
mov dword [esi + 0x48], 0x112
push 0x105025
ret
push edi
mov edi, edx
mov esi, ecx
lea ecx, [ecx]
cmp dword [esi + 0x30], 0
mov edx, edi
jne 0x105b41
mov ecx, dword [esi + 0xc]
jmp 0x105af2