Function at 0x10bb420
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp], 0x686b6a65
mov byte [esp + 4], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
xor esi, 0xe9
mov edx, eax
and edx, 0xc
sub edx, esi
xor dl, byte [esp + ecx]
add dl, 0x8d
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 5
jne 0x10bb450
mov edi, dword [esp]
mov esi, dword [0x10ccdc4]
test esi, esi
je 0x10bb4c6
xor ecx, ecx
mov edx, dword [0x10ccdc8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x10bb4a0
inc ecx
cmp esi, ecx
jne 0x10bb490
jmp 0x10bb4c6
mov edx, dword [edx + ecx*8 + 4]
cmp edx, edi
je 0x10bb4c6
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x10ccdcc]
call fcn.010bdb70
add esp, 0x1c
mov edi, eax
mov dword [esp], 0x3372717c
mov byte [esp + 4], 0
mov eax, 0xc74b7214
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x38b48dec]
xor ecx, eax
mov edx, ecx
xor edx, 0xe4793a64
mov ebp, ecx
or ebp, 0x302409b
and ebp, edx
mov esi, ecx
and esi, 2
mov edx, ebp
or ebp, 2
imul ebp, esi
xor esi, 2
and edx, 0x30240fd
imul edx, esi
xor ecx, 0x1b86c59b
add edx, ecx
add edx, ebp
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0x38b48dec], dl
inc eax
cmp eax, 0xc74b7219
jne 0x10bb4e0
cmp edi, dword [esp]
jne 0x10bb6b4
push dword [esp + 8]
call fcn.010bb2e0
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp], 0x686b6a65
mov byte [esp + 4], 0
xor esi, esi
xor edi, edi
nop
mov ebp, edi
xor ebp, 0xe9
mov edx, esi
and edx, 0xc
sub edx, ebp
xor dl, byte [esp + edi]
add dl, 0x8d
mov byte [esp + edi], dl
inc edi
add esi, 2
cmp edi, 5
jne 0x10bb560
mov edi, dword [esp]
mov edx, dword [0x10ccdc4]
test edx, edx
je 0x10bb5d5
xor ebp, ebp
mov esi, dword [0x10ccdc8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + ebp*8], 0x61813e67
je 0x10bb5b0
inc ebp
cmp edx, ebp
jne 0x10bb5a0
jmp 0x10bb5d5
mov edx, dword [esi + ebp*8 + 4]
cmp edx, edi
je 0x10bb5d5
push 0
push ecx
push eax
push 5
push 0x10
push edx
push dword [0x10ccdcc]
mov esi, eax
call fcn.010bdb70
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x10bb6ab
mov dword [esp], 0xd99a95b7
mov byte [esp + 4], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx]
mov esi, 0x7c8e1624
sub esi, ecx
mov ebp, esi
and ebp, 0x7c8a0602
or esi, 0x35d9bd
lea edi, [ecx + esi]
add edi, 0x8371e9dc
or edi, ebp
xor edi, edx
mov edx, edi
xor edx, 0x42
add edi, edi
mov esi, 2
sub esi, edi
not esi
and esi, 2
and edi, 2
sub edx, edi
add edx, esi
add dl, 0xb9
mov byte [esp + ecx], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 5
jb 0x10bb5f0
mov ecx, dword [esp]
mov dword [esp + 0xc], ecx
mov esi, dword [eax]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ecx + esi + 0x3c]
add ecx, esi
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx + ebp]
movzx edi, word [ebx + ebp]
test si, si
je 0x10bb685
add ebp, 2
cmp si, di
je 0x10bb670
cmp si, di
je 0x10bb696
mov esi, dword [ecx]
test esi, esi
jne 0x10bb660
mov edi, dword [esp + 0xc]
jmp 0x10bb6ab
mov edx, dword [ecx + 0x44]
mov esi, dword [esp + 0x10]
mov dword [esi + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [esi + 0xc], ecx
xor edi, edi
push eax
call fcn.010bb380
add esp, 4
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4