Function at 0x413a60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x58], 0
push esi
mov esi, edx
mov dword [ebp - 0x74], ebx
push edi
mov ecx, dword [ebx + 0x85b8]
mov edi, 0x10
mov edx, dword [ebx + 0x8614]
dec edx
mov dword [ebp - 0x78], esi
shl edx, 4
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + 0x1c]
inc eax
mov dword [ebp - 0x60], eax
mov eax, dword [ecx + 0x24]
sub eax, edx
inc eax
cmp eax, edi
cmovb edi, eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x5c], edi
mov edi, dword [ebx + 0x6c]
mov bl, byte [ebx + 0x808c]
mov al, byte [eax + 0x808d]
mov byte [ebp - 0x7d], al
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x7c], eax
mov eax, edx
xor edx, edx
mov ecx, dword [ecx + 0x2c]
div dword [ebp - 0x48]
mov byte [ebp - 0x6c], bl
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x84], eax
cmp ecx, 1
jbe 0x413b01
mov eax, 1
xor edx, edx
rol eax, 1
inc edx
cmp eax, ecx
jb 0x413af7
mov dword [ebp - 0x58], edx
cmp edi, 0x10
jbe 0x413b1d
push 0x6bc
push str.....libjxrlib_strdec.c
push str.cChannel___16
call fcn.005bb431
add esp, 0xc
xor edx, edx
test edi, edi
je 0x413b46
mov esi, dword [ebp - 0x74]
add esi, 0x86dc
lea esp, [esp]
mov eax, dword [esi]
lea esi, [esi + 4]
mov ecx, edx
inc edx
and ecx, 0xf
mov dword [ebp + ecx*4 - 0x44], eax
cmp edx, edi
jb 0x413b30
mov esi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x85c0], 0
je 0x413b64
mov eax, dword [ecx + 0x87dc]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x87e0]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x10]
dec eax
cmp eax, 6
ja case.default.0x413b71
jmp dword [eax*4 + 0x4142d8]
mov ecx, dword [ebp + 8]
mov eax, 0x80
shl eax, cl
cdq
idiv esi
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
cmp eax, dword [ebp - 0x5c]
jae 0x4142c7
mov ecx, dword [ebp - 0x48]
mov edx, eax
mov esi, dword [ebp + 0x10]
shl ecx, 4
shl edx, 4
add edx, 0x629b70
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x68], 0xff
jmp 0x413bc0
mov edx, dword [ebp - 0x84]
mov ebx, esi
shr eax, cl
mov dword [ebp - 0x50], ebx
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x88], eax
cmp esi, dword [ebp - 0x60]
jae 0x413c5c
mov edi, edi
mov edx, dword [ebp - 0x7c]
mov eax, ebx
shr eax, cl
mov esi, dword [edx + eax*4]
xor edx, edx
mov eax, dword [ebp - 0x74]
add esi, dword [eax + 0x80a8]
add esi, dword [ebp - 0x88]
test edi, edi
je 0x413c4b
mov ecx, dword [ebp - 0x4c]
and ebx, 0xf
mov eax, dword [ebp - 0x50]
and eax, 0xfffffff0
shl eax, 4
movzx ebx, byte [ebx + ecx]
mov ecx, dword [ebp + 8]
add ebx, eax
mov eax, edx
and eax, 0xf
mov eax, dword [ebp + eax*4 - 0x44]
mov eax, dword [eax + ebx*4]
add eax, dword [ebp - 0x70]
imul eax, dword [ebp - 0x78]
sar eax, cl
test eax, eax
jns 0x413c34
xor eax, eax
jmp 0x413c3d
cmp eax, 0xff
cmovg eax, dword [ebp - 0x68]
mov byte [esi + edx], al
inc edx
cmp edx, edi
jb 0x413c17
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
add ebx, dword [ebp - 0x48]
mov dword [ebp - 0x50], ebx
cmp ebx, dword [ebp - 0x60]
jb 0x413be0
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x48]
add edx, dword [ebp - 0x64]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], edx
cmp eax, dword [ebp - 0x5c]
jb 0x413bc0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005920c1
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, 0x8000
shl eax, cl
cdq
idiv esi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebp - 0x5c]
jae 0x4142c7
movzx eax, bl
mov esi, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x48]
shl eax, 4
shl esi, 4
add esi, 0x629b70
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x84]
mov ebx, eax
mov eax, ecx
mov dword [ebp - 0x54], ebx
mov ecx, dword [ebp - 0x58]
shr eax, cl
mov edx, dword [edx + eax*4]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x88], edx
cmp eax, dword [ebp - 0x60]
jae 0x413d83
jmp 0x413cf0
invalid