Function at 0x100264a0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x5c
mov eax, dword [0x4881810]
xor eax, esp
mov dword [esp + 0x58], eax
movzx eax, word [0x498d084]
mov dword [esp + 0x48], eax
neg eax
push 3
mov dword [esp + 0x48], 1
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 1
call fcn.10009e60
add esp, 4
cmp dword [0x48864e4], 0
je 0x100264fc
push 0x4881e54
push 0x3ea
call fcn.100341f0
add esp, 8
push ebx
push ebp
push esi
mov si, word [0x498d086]
mov ecx, 3
movzx eax, si
sub eax, ecx
mov dword [esp + 0xc], ecx
push edi
mov di, word [0x498d084]
cmp eax, ecx
jle 0x10026751
movzx esi, di
lea ebp, [esi - 3]
lea ebx, [ebx]
mov ebx, dword [0x498d090]
mov edx, ecx
and edx, 7
lea ecx, [edx*4 + 2]
shr ebx, cl
and ebx, 1
add ebx, 3
mov eax, ebx
mov dword [esp + 0x14], ebx
and eax, 1
lea ecx, [eax + edx*2]
mov edx, dword [0x498d090]
add ecx, ecx
shr edx, cl
and edx, 3
mov dword [esp + 0x18], edx
cmp ebx, ebp
jge 0x1002672f
nop
imul esi, dword [esp + 0x10]
mov ebp, 1
mov eax, dword [0x498d06c]
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
add esi, ebx
lea ebx, [eax + esi*8]
movzx eax, word [ebx + edx*2]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], eax
jmp 0x100265b4
mov ebx, dword [esp + 0x20]
lea ecx, [ebp*8]
movzx edi, word [ecx + ebx + 2]
mov eax, ecx
neg eax
movzx esi, word [eax + ebx + 2]
add eax, edx
movzx edx, word [ebx + eax*2]
mov eax, dword [esp + 0x18]
add eax, ecx
movzx ecx, word [ebx + eax*2]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
add eax, esi
add eax, edi
add eax, eax
sub eax, edx
sub edx, dword [esp + 0x28]
sub eax, ecx
mov dword [esp + 0x34], edx
sub ecx, dword [esp + 0x28]
mov dword [esp + ebx + 0x40], eax
mov eax, esi
sub eax, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
sar eax, 0x1f
mov dword [esp + 0x2c], eax
mov eax, edx
mov edx, ecx
sar eax, 0x1f
mov dword [esp + 0x30], eax
lea ecx, [ebp*2]
mov eax, dword [esp + 0x20]
add ecx, ebp
shl ecx, 3
sub eax, ecx
sar edx, 0x1f
movzx ebp, word [eax + 2]
mov eax, dword [esp + 0x20]
sub ebp, esi
mov ebx, ebp
sar ebx, 0x1f
movzx esi, word [ecx + eax + 2]
mov ecx, edx
xor ecx, dword [esp + 0x3c]
sub esi, edi
mov eax, dword [esp + 0x30]
mov edi, esi
xor eax, dword [esp + 0x34]
add ecx, eax
sar edi, 0x1f
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x38]
add ecx, eax
mov eax, ebx
sub ecx, dword [esp + 0x30]
xor eax, ebp
sub ecx, dword [esp + 0x2c]
sub ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, edi
xor ecx, esi
add ecx, eax
sub ecx, ebx
sub ecx, edi
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp + ecx + 0x48], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
shl eax, 2
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + eax + 0x54]
test ebp, ebp
jg 0x100265b0
mov ecx, dword [esp + 0x48]
xor eax, eax
cmp ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
setg al
lea edi, [eax*4]
mov eax, dword [esp + edi + 0x54]
lea ecx, [eax*8]
mov eax, edx
movzx ebx, word [ecx + edx + 2]
sub eax, ecx
mov ecx, dword [esp + edi + 0x40]
sar ecx, 2
mov edi, ecx
movzx eax, word [eax + 2]
cmp bx, ax
jae 0x100266f3
mov esi, eax
cmp ecx, esi
jl 0x100266ef
mov edi, esi
mov eax, ebx
jmp 0x100266fb
mov esi, ebx
cmp ecx, esi
jl 0x100266fb
mov edi, esi
cmp eax, edi
jg 0x10026707
mov eax, ecx
cmp ecx, esi
jl 0x10026707
mov eax, esi
mov ebx, dword [esp + 0x14]
mov word [edx + 2], ax
add ebx, 2
mov di, word [0x498d084]
mov edx, dword [esp + 0x18]
movzx esi, di
mov dword [esp + 0x14], ebx
lea ebp, [esi - 3]
cmp ebx, ebp
jl 0x10026570
mov ecx, dword [esp + 0x10]
movzx eax, word [0x498d086]
inc ecx
sub eax, 3
mov dword [esp + 0x10], ecx
cmp ecx, eax
jl 0x10026530
mov si, word [0x498d086]
movzx eax, si
mov ecx, 1
dec eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jle 0x10026877
jmp 0x10026770
mov ebx, dword [0x498d090]
mov edx, ecx
and edx, 7
mov ebp, ebx
lea ecx, [edx*4]
shr ebp, cl
and ebp, 1
inc ebp
mov dword [esp + 0x14], ebp
lea eax, [ebp - 1]
and eax, 1
lea ecx, [eax + edx*2]
add ecx, ecx
shr ebx, cl
movzx ecx, di
and ebx, 3
lea eax, [ecx - 1]
cmp ebp, eax
jge 0x10026862
lea esp, [esp]
imul ecx, dword [esp + 0x10]
mov eax, dword [0x498d06c]
add ecx, ebp
lea ebp, [esp + 0x54]
lea edi, [eax + ecx*8]
mov eax, 1
jmp 0x100267d0
lea ecx, [eax*4]
lea esi, [eax*8]
mov eax, ebx
sub eax, ecx
movzx edx, word [edi + eax*2]
lea eax, [ecx + ebx]
movzx eax, word [edi + eax*2]
add edx, eax
mov eax, edi
sub eax, esi
movzx eax, word [eax + 2]
sub edx, eax
movzx eax, word [esi + edi + 2]
sub edx, eax
movzx eax, word [edi + 2]
lea eax, [edx + eax*2]
sar eax, 1
cmp eax, 0xffff
jge 0x1002681f
test eax, eax
jns 0x10026818
xor eax, eax
jmp 0x10026824
cmp eax, 0xffff
jl 0x10026824
mov eax, 0xffff
mov word [edi + ebx*2], ax
add ebp, 4
mov eax, 2
sub eax, ebx
mov ebx, eax
mov eax, dword [ebp]
test eax, eax
jg 0x100267d0
mov di, word [0x498d084]
mov ebp, dword [esp + 0x14]
movzx ecx, di
add ebp, 2
mov dword [esp + 0x14], ebp
lea eax, [ecx - 1]
cmp ebp, eax
jl 0x100267b0
mov si, word [0x498d086]
mov ecx, dword [esp + 0x10]
movzx eax, si
inc ecx
dec eax
mov dword [esp + 0x10], ecx
cmp ecx, eax
jl 0x10026770
movzx eax, si
mov ecx, 1
dec eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
jle 0x10026a65
mov ebx, dword [0x498d090]
mov edx, ecx
mov ebp, ebx
and edx, 7
lea ecx, [edx*4 + 2]
shr ebp, cl
and ebp, 1
inc ebp
mov eax, ebp
mov dword [esp + 0x1c], ebp
and eax, 1
lea ecx, [eax + edx*2]
mov eax, ebx
add ecx, ecx
mov edx, 2
shr eax, cl
and eax, 3
movzx ecx, di
sub edx, eax
mov dword [esp + 0x10], edx
lea eax, [ecx - 1]
cmp ebp, eax
jge 0x10026a50
mov esi, dword [esp + 0x58]
inc esi
mov dword [esp + 0x50], esi
lea ecx, [ecx]
imul ecx, dword [esp + 0x18]
mov eax, dword [0x498d06c]
mov dword [esp + 0x14], 0
add ecx, ebp
lea ebx, [eax + ecx*8]
mov dword [esp + 0x30], ebx
test esi, esi
jle 0x100269de
movzx edi, word [ebx + 2]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], 0
lea eax, [edi + edi]
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
lea ecx, [esi*4]
add eax, ecx
sub edx, ecx
movzx ecx, word [ebx + eax*2]
movzx edx, word [ebx + edx*2]
mov eax, edx
mov dword [esp + 0x20], ecx
sub eax, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
lea ecx, [esi*8]
sar eax, 0x1f
mov dword [esp + 0x38], eax
mov eax, ebx
movzx ebx, word [ecx + ebx + 2]
sub eax, ecx
movzx ebp, word [eax + 2]
mov eax, ebx
sub eax, dword [esp + 0x2c]
mov edx, ebp
mov esi, eax
sub edx, edi
sar esi, 0x1f
mov edi, edx
sar edi, 0x1f
mov ecx, esi
xor ecx, eax
mov eax, edi
xor eax, edx
mov edx, dword [esp + 0x24]
add ecx, eax
mov eax, dword [esp + 0x38]
xor eax, dword [esp + 0x34]
add ecx, eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
sub ecx, edi
sub ecx, dword [esp + 0x38]
sub eax, ebx
add eax, dword [esp + 0x28]
sub ecx, esi
add eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov dword [esp + edx + 0x40], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + edx + 0x48], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
shl eax, 2
mov dword [esp + 0x24], eax
mov esi, dword [esp + eax + 0x58]
add esi, dword [esp + eax + 0x54]
test esi, esi
jg 0x10026920
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, ecx
je 0x100269f9
xor eax, eax
cmp esi, ecx
setg al
mov eax, dword [esp + eax*4 + 0x40]
sar eax, 1
jmp 0x10026a04
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
sar eax, 2
cmp eax, 0xffff
jge 0x10026a1a
test eax, eax
jns 0x10026a13
xor eax, eax
jmp 0x10026a1f
cmp eax, 0xffff
jl 0x10026a1f
mov eax, 0xffff
mov esi, dword [esp + 0x50]
add ebp, 2
mov word [ebx + edx*2], ax
mov di, word [0x498d084]
movzx ecx, di
mov dword [esp + 0x1c], ebp
lea eax, [ecx - 1]
cmp ebp, eax
jl 0x100268e0
mov ebx, dword [0x498d090]
mov si, word [0x498d086]
mov ecx, dword [esp + 0x18]
movzx eax, si
inc ecx
dec eax
mov dword [esp + 0x18], ecx
cmp ecx, eax
jl 0x10026892
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10007d50
add esp, 0x5c
ret