Function at 0x10060280
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x1015bd98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
mov al, byte [str.7Z_a]
push ebx
mov cl, al
dec al
mov byte [str.7Z_a], al
mov al, byte [0x1018c76f]
inc al
mov byte [0x1018c76e], 0x84
mov byte [0x1018c76f], al
mov eax, 0x148
cdq
idiv dword [0x1018c748]
mov eax, dword [0x1018c744]
push esi
push edi
mov dl, byte [edx + eax]
push edx
push ecx
push 0xffffffffffffff84
call fcn.10060580
add esp, 0xc
push eax
mov al, byte [0x1018c76f]
push eax
push 0xffffffffffffff85
call fcn.1005fc00
or cl, 0xff
mov dl, 0x7c
sub cl, al
add esp, 4
mov al, cl
imul dl
push eax
call fcn.10060580
mov byte [esp + 0x18], al
mov eax, 0x18
mov word [esp + 0x4c], ax
mov word [esp + 0x4e], ax
mov eax, 0x10
add esp, 0xc
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
mov word [esp + 0x4c], ax
mov al, byte [0x1019785c]
xor ebx, ebx
mov word [esp + 0x38], 0x71
test al, 1
mov word [esp + 0x3a], 0x15
mov word [esp + 0x3c], 0x35
mov word [esp + 0x3e], 0x12
mov word [esp + 0x44], 0x22
mov word [esp + 0x46], 0x24
mov word [esp + 0x4e], 0x29
mov word [esp + 0x50], 0x23
mov word [esp + 0x52], 0xc
mov word [esp + 0x54], 8
jne 0x100603e2
push ebp
or al, 1
push 0x20
mov byte [0x1019785c], al
call fcn.1013c2df
add esp, 4
mov dword [0x10197860], eax
mov edi, 0x30
xor esi, esi
mov bp, word [esp + esi + 0x3c]
push edi
mov eax, ebp
mov ecx, 0x10197860
and eax, 0xffff
push eax
call fcn.1004a650
mov ecx, dword [0x10197860]
xor eax, ebp
xor eax, edi
xor edi, edi
mov word [esi + ecx], ax
mov eax, dword [0x10197860]
mov di, word [esi + eax]
add esi, 2
cmp esi, 0x1e
jb 0x10060397
push 0x100619b0
mov word [eax + 0x1e], bx
call fcn.1013c36b
add esp, 4
pop ebp
mov esi, dword [0x10197860]
mov dl, byte [esp + 0x68]
push esi
mov byte [esp + 0x2c], dl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x28]
push eax
push esi
call fcn.1000bf40
lea eax, [esp + 0x28]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x68], ebx
call fcn.100303e0
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x60], 2
cmp ecx, ebx
je 0x1006044f
mov al, byte [ecx - 1]
cmp al, bl
je 0x10060443
cmp al, 0xff
je 0x10060443
dec al
mov byte [ecx - 1], al
jmp 0x1006044f
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov al, byte [0x1018c76f]
mov ecx, dword [esp + 0xc]
dec al
push ecx
push eax
mov byte [0x1018c76f], al
call fcn.100ad800
mov dl, byte [esp + 0x70]
mov byte [0x1018c76d], al
mov byte [esp + 0x20], dl
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov esi, dword [0x1018c748]
mov eax, 0x374
cdq
idiv esi
mov eax, 0x1cd
mov cl, byte [str.7Z_a]
dec cl
mov byte [esp + 0x68], 3
mov byte [str.7Z_a], cl
mov edi, edx
cdq
idiv esi
mov esi, dword [0x1018c744]
mov al, byte [edi + esi]
add al, byte [edx + esi]
sub al, cl
lea ecx, [esp + 0x20]
push ecx
mov byte [0x1018c76d], al
call fcn.10060c00
mov al, byte [0x1018c76d]
mov cl, byte [0x1018c76f]
mov dl, byte [esp + 0x18]
imul cl
dec dl
inc cl
mov byte [esp + 0x18], dl
mov byte [0x1018c76f], cl
mov ecx, dword [esp + 0x18]
push ecx
push eax
push ecx
call fcn.1005fbf0
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x38]
add esp, 0x18
lea ecx, [esp + 0x18]
push edx
push 1
push eax
call fcn.10061da0
mov eax, 0x141
mov ecx, dword [0x1018c744]
cdq
idiv dword [0x1018c748]
lea eax, [esp + 0x18]
push eax
mov dl, byte [edx + ecx]
mov byte [0x1018c76d], dl
call fcn.10060e60
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x64], 2
push ecx
call fcn.101307a0
add esp, 8
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x60], 0xffffffff
call fcn.10030510
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret 4