Function at 0x10060bf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x234]
test byte [eax + 0x24], 4
jne 0x10060c39
cmp byte [esi + 0x21c], 0
je 0x10060c39
mov al, byte [esi + 0x140]
cmp al, 0x10
je 0x10060c2b
cmp al, 0x20
je 0x10060c24
cmp al, 0x40
jne 0x10060c39
push str.o16
jmp 0x10060c30
push str.o32
push esi
call fcn.1006e320
add esp, 8
mov eax, dword [esi + 0x234]
test byte [eax + 0x24], 8
jne 0x10060c6e
cmp byte [esi + 0x21d], 0
je 0x10060c6e
mov al, byte [esi + 0x140]
cmp al, 0x10
je 0x10060c60
cmp al, 0x20
je 0x10060ccf
cmp al, 0x40
jne 0x10060c6e
push str.a32
push esi
call fcn.1006e320
add esp, 8
mov al, byte [esi + 0x21b]
test al, al
je 0x10060ca8
cmp dword [esi + 0x158], 0x9d
je 0x10060ca8
cmp dword [esi + 0x188], 0x9d
je 0x10060ca8
movzx ecx, al
dec ecx
call fcn.1006e2c0
push eax
push 0x100aa1b8
push esi
call fcn.1006e320
add esp, 0xc
cmp byte [esi + 0x21e], 0
je 0x10060cbf
push str.lock
push esi
call fcn.1006e320
add esp, 8
cmp byte [esi + 0x220], 0
je 0x10060cd6
push str.rep
jmp 0x10060cf4
push str.a16
jmp 0x10060c65
cmp byte [esi + 0x221], 0
je 0x10060ce6
push str.repe
jmp 0x10060cf4
cmp byte [esi + 0x222], 0
je 0x10060cfd
push str.repne
push esi
call fcn.1006e320
add esp, 8
mov ecx, dword [esi + 0x154]
cmp ecx, 0x38c
jge 0x10060d66
movzx eax, cl
xor edx, edx
imul eax, eax, 0xd
xorps xmm0, xmm0
movups xmmword [0x100e6488], xmm0
mov byte [0x100e6498], 0
mov bl, al
mov dword [esp + 0xc], eax
mov eax, ecx
xor bl, 0x6e
shl eax, 4
add eax, ecx
sub eax, 0x100e6488
lea edi, [eax + 0x100aa8a8]
nop
mov cl, byte [edi + edx + 0x100e6488]
mov al, cl
add cl, byte [esp + 0xc]
xor al, bl
add cl, dl
mov byte [edx + 0x100e6488], al
add bl, cl
inc edx
cmp edx, 0x11
jl 0x10060d40
mov eax, 0x100e6488
jmp 0x10060d68
xor eax, eax
push eax
push 0x100a9bf4
push esi
call fcn.1006e320
add esp, 0xc
cmp dword [esi + 0x158], 0
je 0x10060e0f
push 0x100aa1dc
push esi
xor ebx, ebx
call fcn.1006e320
add esp, 8
cmp dword [esi + 0x158], 0x9d
jne case.0x10060df2.522
mov ecx, dword [esi + 0x188]
cmp ecx, 0x9f
je case.0x10060df2.521
cmp ecx, 0xa1
je case.0x10060df2.521
test ecx, ecx
je case.0x10060df2.521
mov ax, word [esi + 0x15c]
cmp ax, word [esi + 0x18c]
jne case.0x10060df2.521
cmp ecx, 0x9c
jne case.0x10060df2.522
cmp dword [esi + 0x190], 2
jne case.0x10060df2.522
mov eax, dword [esi + 0x154]
add eax, 0xfffffdf7
cmp eax, 0x32
ja case.0x10060df2.522
movzx eax, byte [eax + 0x10060ef8]
jmp dword [eax*4 + 0x10060ef0]
mov ebx, 1
push ebx
lea edx, [esi + 0x158]
mov ecx, esi
call fcn.100607c0
add esp, 4
cmp dword [esi + 0x188], 0
je 0x10060e76
push 0x100aa1f0
push esi
call fcn.1006e320
add esp, 8
cmp dword [esi + 0x188], 0x9d
jne 0x10060e63
mov ax, word [esi + 0x15c]
cmp ax, word [esi + 0x18c]
je 0x10060e63
cmp dword [esi + 0x158], 0x9c
jne 0x10060e5c
mov eax, dword [esi + 0x160]
sub eax, 0x45
cmp eax, 5
jbe 0x10060e63
mov eax, 1
jmp 0x10060e65
xor eax, eax
push eax
lea edx, [esi + 0x188]
mov ecx, esi
call fcn.100607c0
add esp, 4
cmp dword [esi + 0x1b8], 0
je 0x10060ec2
push 0x100aa1f0
push esi
xor edi, edi
call fcn.1006e320
add esp, 8
cmp dword [esi + 0x1b8], 0x9d
jne 0x10060eb1
mov ax, word [esi + 0x1bc]
mov ecx, 1
cmp ax, word [esi + 0x18c]
cmovne edi, ecx
push edi
lea edx, [esi + 0x1b8]
mov ecx, esi
call fcn.100607c0
add esp, 4
cmp dword [esi + 0x1e8], 0
je 0x10060ee8
push 0x100aa1f0
push esi
call fcn.1006e320
push 0
lea edx, [esi + 0x1e8]
mov ecx, esi
call fcn.100607c0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret