Function at 0x4262b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x44eb5c]
sub esp, 0x2c
mov eax, dword [0x44eb5c]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
lea eax, [edi - 1]
test eax, eax
js 0x4262e0
mov ecx, dword [ebp + 0x10]
mov esi, dword [ecx + eax*4]
test esi, esi
jne 0x4263a6
sub eax, 1
jns 0x4262d0
xor eax, eax
lea edx, [eax + 7]
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp + 8]
mov eax, 4
shr edx, 3
mov ecx, 0
cmp eax, edx
mov dword [ebp - 8], edx
sbb eax, eax
and eax, 0xffffff24
add eax, 0xfa
test dl, 3
mov dword [ebp - 0x18], eax
mov eax, edx
setne cl
shr eax, 2
add ecx, eax
mov dword [ebp - 0x1c], ecx
lea esi, [ecx*4]
mov eax, esi
mov dword [ebp - 0x24], esi
sub eax, edx
mov dword [ebp - 0x20], eax
nop dword [eax]
cmp edi, ecx
jb 0x42656a
push eax
push 0
push ebx
call fcn.00428f20
lea ecx, [esi + ebx]
mov eax, edi
mov esi, dword [ebp - 0x1c]
sub eax, esi
shl eax, 2
push eax
push 0
push ecx
call fcn.00428f20
push dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add eax, ebx
push eax
push dword [ebp + 0x1c]
call dword [ebp + 0x18]
mov ecx, eax
add esp, 0x24
mov dword [ebp - 4], ecx
test ecx, ecx
jne 0x426561
test esi, esi
je 0x4263c7
mov eax, dword [ebp - 0x24]
mov esi, ebx
add eax, 0xfffffffc
add eax, ebx
cmp ebx, eax
ja 0x4263c7
mov ecx, dword [eax]
mov edx, dword [esi]
bswap ecx
bswap edx
mov dword [esi], ecx
add esi, 4
mov dword [eax], edx
sub eax, 4
cmp esi, eax
jbe 0x426388
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jmp 0x4263cf
mov edx, accept
xor ecx, ecx
nop dword [eax]
test edx, esi
jne 0x4263bc
inc ecx
shr edx, 1
cmp ecx, 0x20
jb 0x4263b0
inc eax
shl eax, 5
sub eax, ecx
jmp 0x4262e2
test ecx, ecx
jne 0x426561
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], 0
lea esi, [eax*8]
sub esi, dword [ebp - 0xc]
mov eax, esi
and esi, 0x1f
shr eax, 5
mov dword [ebp - 0x10], esi
cmp eax, edi
ja 0x42647b
jne 0x426400
test esi, esi
jne 0x42647b
test eax, eax
je 0x426437
mov ecx, edi
xor edx, edx
sub ecx, eax
mov dword [ebp - 0x14], ecx
je 0x426425
mov esi, dword [ebp - 0x14]
lea ecx, [ebx + eax*4]
mov eax, dword [ecx]
lea ecx, [ecx + 4]
mov dword [ebx + edx*4], eax
inc edx
cmp edx, esi
jb 0x426415
mov esi, dword [ebp - 0x10]
cmp edx, edi
jae 0x426437
mov ecx, edi
lea edi, [ebx + edx*4]
sub ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x14]
test esi, esi
je 0x42648e
mov dword [ebp - 0x14], edi
test edi, edi
je 0x42648e
mov eax, 0x20
sub eax, esi
dec edi
mov dword [ebp - 0x2c], eax
lea esi, [ebx + edi*4]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x10]
mov edx, dword [esi]
lea esi, [esi - 4]
mov ecx, edi
mov eax, edx
shr eax, cl
mov ecx, dword [ebp - 0x2c]
or eax, ebx
mov ebx, edx
mov dword [esi + 4], eax
shl ebx, cl
sub dword [ebp - 0x14], 1
jne 0x426456
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
jmp 0x42648e
lea eax, [edi*4]
push eax
push 0
push ebx
call fcn.00428f20
add esp, 0xc
sub dword [ebp - 0x18], 1
je 0x426555
mov esi, dword [0x44eb5c]
mov edx, dword [0x44eb5c]
xor esi, dword [ebx]
xor edx, dword [ebp + 0xc]
mov eax, edx
xor eax, esi
sub esi, edx
shr eax, 0x1f
xor eax, dword [0x44eb5c]
mov ecx, eax
neg eax
shr ecx, 1
neg ecx
or ecx, eax
mov eax, dword [0x44eb5c]
shr ecx, 0x1f
neg ecx
xor eax, ecx
and ecx, edx
not eax
mov edx, 1
and esi, eax
mov eax, dword [0x44eb5c]
or esi, ecx
shr esi, 0x1f
xor eax, esi
mov esi, dword [0x44eb5c]
mov ecx, eax
neg eax
shr ecx, 1
neg ecx
or ecx, eax
shr ecx, 0x1f
dec ecx
mov dword [ebp - 0x2c], ecx
cmp edi, edx
jbe 0x426521
mov eax, dword [0x44eb5c]
xor eax, dword [ebx + edx*4]
inc edx
mov ecx, eax
neg eax
shr ecx, 1
neg ecx
or ecx, eax
shr ecx, 0x1f
neg ecx
or esi, ecx
cmp edx, edi
jb 0x426500
mov ecx, dword [ebp - 0x2c]
push edi
push dword [ebp + 0x10]
or esi, ecx
push ebx
call fcn.00425e70
mov ecx, dword [ebp - 0x1c]
and eax, esi
add esp, 0xc
cmp eax, dword [0x44eb5c]
mov eax, dword [ebp - 0x20]
lea esi, [ecx*4]
je 0x426330
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff2
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret