Function at 0x100015b0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x1c
mov ax, word [0x10263260]
mov ecx, dword [0x10263250]
inc ax
mov word [0x10263260], ax
and ecx, 0x1631
movzx eax, ax
push ebx
push ebp
mov ebp, dword [esp + 0x38]
push esi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + eax*4]
and eax, dword [0x10263240]
mov dword [esp + 0x14], eax
mov eax, dword [0x10263248]
push edi
lea edx, [eax + 1]
dec eax
mov dword [0x10263248], eax
movzx ebx, byte [ecx + 0x1a2]
movzx edi, ax
mov eax, dword [0x10263258]
dec eax
mov byte [esp + 0x40], dl
mov dword [0x10263258], eax
xor eax, dword [0x1026326c]
mov dword [esp + 0x20], eax
movzx eax, word [0x10263280]
mov dword [esp + 0x14], ebx
movzx esi, byte [eax + ecx + 9]
mov al, byte [0x1026327c]
add al, dl
mov edx, dword [esp + 0x38]
movzx eax, al
movzx ecx, byte [ebx + edx*8 + 0x30]
mov ebx, dword [esp + 0x30]
imul ecx, eax
movzx eax, word [edx]
mov byte [eax + ebx], cl
lea ebx, [edx - 2]
mov eax, dword [0x1026327c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
movzx eax, si
cmp eax, edx
jl 0x1000168d
mov ebp, dword [esp + 0x14]
pop edi
pop esi
mov ecx, dword [ebp + 0x9fc]
add dword [0x1026326c], ecx
mov ecx, 0xffff
add word [ebx], cx
imul eax, dword [0x1026326c]
pop ebp
pop ebx
add esp, 0x1c
ret
movzx eax, word [ebx]
add esi, 0xffff
mov ecx, esi
mov dword [esp + 0x10], esi
imul ecx, dword [esp + 0x3c]
xor edx, edx
mov esi, dword [0x10263238]
add cx, word [esi + eax*8]
mov eax, dword [esp + 0x24]
or cx, di
movzx eax, ax
movzx ecx, cx
imul ecx, eax
movzx eax, cx
xor eax, dword [0x10263230]
imul eax, eax, 0x1548
mov ecx, dword [0x10263268]
inc ecx
mov dword [0x10263268], ecx
div dword [0x10263258]
mov eax, dword [0x10263264]
mov dword [0x10263258], edx
cmp eax, dword [esi + ecx*4]
jbe 0x100017bd
mov edx, dword [esp + 0x18]
mov eax, 0xffff
add word [ebx], ax
mov eax, dword [0x10263238]
movzx ecx, word [0x10263250]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov ecx, dword [eax + ecx*4 + 0xc]
xor ecx, dword [0x10263264]
movzx eax, word [ebx]
lea eax, [eax + eax*2]
and ecx, dword [edx + eax*4]
xor edx, edx
and dword [0x10263254], ecx
mov eax, dword [0x10263230]
movzx eax, byte [eax + edi]
div dword [esp + 0x1c]
movzx eax, word [ebx]
lea ecx, [eax + eax*2]
mov eax, dword [0x10263284]
movzx eax, word [eax + ecx*2]
sub edx, eax
mov eax, dword [0x1026325c]
mov dword [eax + esi*4], edx
movzx eax, word [ebx]
mov edx, dword [esp + 0x20]
lea ecx, [edx + eax*4]
movzx eax, byte [eax + edi + 0x17]
or eax, 0x1000
or dword [ecx], eax
movzx ecx, byte [edi + esi + 0x15]
xor ecx, dword [ebp + esi*4 + 0x74]
mov eax, dword [0x10263230]
mov ebp, dword [esp + 0x14]
movzx eax, byte [eax + edi]
imul ecx, eax
imul ecx, dword [ebp + esi*8 - 8]
mov dword [ebp + esi*8 - 8], ecx
movzx ecx, word [ebx]
mov eax, dword [0x10263254]
movzx eax, byte [eax + edi]
xor eax, dword [edx + ecx*4]
imul eax, dword [0x10263248]
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [0x10263248], eax
movzx eax, dx
imul eax, dword [0x1026326c]
pop ebx
add esp, 0x1c
ret
mov eax, dword [0x10263270]
movzx esi, byte [esp + 0x40]
cmp esi, dword [ebp + eax*4]
jb 0x10001845
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
add ecx, dword [esp + 0x38]
movzx edx, ax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edx
mov eax, dword [0x10263248]
inc eax
mov dword [0x10263248], eax
mov byte [ecx], al
movzx eax, word [ebx]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + eax*8]
movzx eax, di
sub eax, dword [ecx]
mov dword [ecx], eax
movzx eax, word [0x10263280]
mov ecx, dword [esp + 0x34]
movzx ecx, byte [eax + ecx + 0x26]
mov eax, edx
xor edx, edx
div ecx
mov edx, dword [esp + 0x40]
lea ecx, [edi + 1]
xor eax, dword [0x10263234]
sub eax, esi
inc esi
imul eax, ecx
mov ecx, dword [esp + 0x30]
movzx edi, ax
mov eax, dword [0x10263270]
cmp esi, dword [ebp + eax*4]
jae 0x100017e4
mov ecx, dword [0x1026327c]
jmp 0x10001849
mov ecx, dword [esp + 0x28]
mov eax, dword [0x10263260]
mov edi, dword [esp + 0x38]
add eax, edi
and eax, dword [esp + 0x1c]
add word [ebx + ecx*4 + 6], ax
inc word [0x10263260]
movzx ecx, word [ebx]
mov eax, dword [0x1026325c]
mov edx, dword [esp + 0x10]
movzx esi, dx
add dword [eax + ecx*8], esi
mov ecx, dword [0x10263240]
lea edx, [ecx + ecx*2]
mov ecx, dword [0x1026324c]
mov dword [ebp + edx*4], ecx
xor edx, edx
mov eax, dword [0x10263230]
div dword [0x10263248]
mov edx, dword [esp + 0x20]
mov dword [edx + edi*8 + 4], eax
imul esi, dword [0x1026326c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret