Function at 0x10060cf0
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 0x10060d39
cmp byte [esi + 0x21c], 0
je 0x10060d39
mov al, byte [esi + 0x140]
cmp al, 0x10
je 0x10060d2b
cmp al, 0x20
je 0x10060d24
cmp al, 0x40
jne 0x10060d39
push str.o16
jmp 0x10060d30
push str.o32
push esi
call fcn.1006e3a0
add esp, 8
mov eax, dword [esi + 0x234]
test byte [eax + 0x24], 8
jne 0x10060d6e
cmp byte [esi + 0x21d], 0
je 0x10060d6e
mov al, byte [esi + 0x140]
cmp al, 0x10
je 0x10060d60
cmp al, 0x20
je 0x10060dcf
cmp al, 0x40
jne 0x10060d6e
push str.a32
push esi
call fcn.1006e3a0
add esp, 8
mov al, byte [esi + 0x21b]
test al, al
je 0x10060da8
cmp dword [esi + 0x158], 0x9d
je 0x10060da8
cmp dword [esi + 0x188], 0x9d
je 0x10060da8
movzx ecx, al
dec ecx
call fcn.1006e340
push eax
push 0x100aa208
push esi
call fcn.1006e3a0
add esp, 0xc
cmp byte [esi + 0x21e], 0
je 0x10060dbf
push str.lock
push esi
call fcn.1006e3a0
add esp, 8
cmp byte [esi + 0x220], 0
je 0x10060dd6
push str.rep
jmp 0x10060df4
push str.a16
jmp 0x10060d65
cmp byte [esi + 0x221], 0
je 0x10060de6
push str.repe
jmp 0x10060df4
cmp byte [esi + 0x222], 0
je 0x10060dfd
push str.repne
push esi
call fcn.1006e3a0
add esp, 8
mov ecx, dword [esi + 0x154]
cmp ecx, 0x38c
jge 0x10060e66
movzx eax, cl
xor edx, edx
imul eax, eax, 0xd
xorps xmm0, xmm0
movups xmmword [0x100e64a8], xmm0
mov byte [0x100e64b8], 0
mov bl, al
mov dword [esp + 0xc], eax
mov eax, ecx
xor bl, 0x6e
shl eax, 4
add eax, ecx
sub eax, 0x100e64a8
lea edi, [eax + 0x100aac80]
nop
mov cl, byte [edi + edx + 0x100e64a8]
mov al, cl
add cl, byte [esp + 0xc]
xor al, bl
add cl, dl
mov byte [edx + 0x100e64a8], al
add bl, cl
inc edx
cmp edx, 0x11
jl 0x10060e40
mov eax, 0x100e64a8
jmp 0x10060e68
xor eax, eax
push eax
push 0x100a9c54
push esi
call fcn.1006e3a0
add esp, 0xc
cmp dword [esi + 0x158], 0
je 0x10060f0f
push 0x100aa20c
push esi
xor ebx, ebx
call fcn.1006e3a0
add esp, 8
cmp dword [esi + 0x158], 0x9d
jne case.0x10060ef2.522
mov ecx, dword [esi + 0x188]
cmp ecx, 0x9f
je case.0x10060ef2.521
cmp ecx, 0xa1
je case.0x10060ef2.521
test ecx, ecx
je case.0x10060ef2.521
mov ax, word [esi + 0x15c]
cmp ax, word [esi + 0x18c]
jne case.0x10060ef2.521
cmp ecx, 0x9c
jne case.0x10060ef2.522
cmp dword [esi + 0x190], 2
jne case.0x10060ef2.522
mov eax, dword [esi + 0x154]
add eax, 0xfffffdf7
cmp eax, 0x32
ja case.0x10060ef2.522
movzx eax, byte [eax + 0x10060ff8]
jmp dword [eax*4 + 0x10060ff0]
mov ebx, 1
push ebx
lea edx, [esi + 0x158]
mov ecx, esi
call fcn.100608c0
add esp, 4
cmp dword [esi + 0x188], 0
je 0x10060f76
push 0x100aa210
push esi
call fcn.1006e3a0
add esp, 8
cmp dword [esi + 0x188], 0x9d
jne 0x10060f63
mov ax, word [esi + 0x15c]
cmp ax, word [esi + 0x18c]
je 0x10060f63
cmp dword [esi + 0x158], 0x9c
jne 0x10060f5c
mov eax, dword [esi + 0x160]
sub eax, 0x45
cmp eax, 5
jbe 0x10060f63
mov eax, 1
jmp 0x10060f65
xor eax, eax
push eax
lea edx, [esi + 0x188]
mov ecx, esi
call fcn.100608c0
add esp, 4
cmp dword [esi + 0x1b8], 0
je 0x10060fc2
push 0x100aa210
push esi
xor edi, edi
call fcn.1006e3a0
add esp, 8
cmp dword [esi + 0x1b8], 0x9d
jne 0x10060fb1
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.100608c0
add esp, 4
cmp dword [esi + 0x1e8], 0
je 0x10060fe8
push 0x100aa210
push esi
call fcn.1006e3a0
push 0
lea edx, [esi + 0x1e8]
mov ecx, esi
call fcn.100608c0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret