Function at 0x1000b670
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f075
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x1005e424]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x6c], ebx
cmp edi, dword [ebp + 0xc]
jne 0x1000b87a
push ebx
call fcn.100088c0
mov cl, byte [edi]
movzx eax, cl
cmp eax, 9
ja case.0x1000b6ca.0
movzx eax, byte [eax + 0x1000b908]
jmp dword [eax*4 + 0x1000b8f8]
cmp dword [ebp + 0x18], 0
jne 0x1000b8b8
cmp cl, 3
jne 0x1000b70c
push dword [edi + 8]
lea eax, [ebp - 0x59]
push eax
call fcn.1000b550
push 1
push dword [edi + 8]
lea eax, [ebp - 0x59]
push eax
call fcn.10010240
add esp, 0x14
mov dword [edi + 8], 0
mov byte [edi], 0
jmp 0x1000b809
cmp cl, 8
jne 0x1000b731
push dword [edi + 8]
lea eax, [ebp - 0x59]
push eax
call fcn.1000b5b0
push 0x20
push dword [edi + 8]
call fcn.1004cf0b
add esp, 0x10
mov dword [edi + 8], 0
mov byte [edi], 0
jmp 0x1000b809
mov esi, dword [ebp + 0x10]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], esi
call fcn.10004af0
mov ecx, dword [edi + 8]
push esi
call fcn.1000fbe0
mov esi, eax
lea ecx, [esi + 0x10]
call fcn.100046c0
push 0x38
push esi
call fcn.1004cf0b
mov eax, dword [ebp - 0x60]
add esp, 8
mov dword [ebx + 4], eax
jmp 0x1000b809
mov esi, dword [edi + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x70], ecx
mov eax, dword [esi + 4]
lea edi, [ecx + 0x10]
mov dword [ebp - 0x64], eax
cmp edi, eax
je 0x1000b7eb
mov ebx, ecx
nop dword [eax + eax]
mov cl, byte [edi]
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov byte [edi], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov al, byte [ebx]
mov byte [ebx], cl
mov ecx, dword [ebx + 0xc]
mov byte [ebp - 0x60], al
mov byte [ebp - 0x20], al
mov eax, dword [ebx + 8]
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
push dword [ebp - 0x60]
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 2
call fcn.100072d0
add edi, 0x10
lea ebx, [ebx + 0x10]
cmp edi, dword [ebp - 0x64]
jne 0x1000b790
mov esi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x6c]
mov eax, dword [esi + 4]
movzx ecx, byte [eax - 0x10]
push ecx
lea ecx, [eax - 8]
mov dword [ebp - 4], 3
call fcn.100072d0
add dword [esi + 4], 0xfffffff0
mov eax, dword [ebp - 0x70]
mov dword [ebx + 8], eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004cf19
mov esp, ebp
pop ebp
ret 0x14
mov ecx, edi
call fcn.100099f0
push eax
lea ecx, [ebp - 0x40]
call fcn.10003cd0
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 4
push str.cannot_use_erase___with
push eax
call fcn.10001cb0
push edi
push eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 5
push 0x133
push eax
call fcn.10002cc0
add esp, 0x1c
lea eax, [ebp - 0xa8]
push 0x10059bd8
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.iterator_does_not_fit_current_value
lea ecx, [ebp - 0x28]
call fcn.10003cd0
push edi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x8c]
push 0xca
push eax
call fcn.100024e0
add esp, 0x10
lea eax, [ebp - 0x8c]
push 0x10059b44
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push str.iterator_out_of_range
lea ecx, [ebp - 0x28]
xor byte [edx], dh
add eax, 0xd84d8d10
call fcn.10003cd0
push edi
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x8c]
push 0xcd
push eax
call fcn.100024e0
add esp, 0x10
lea eax, [ebp - 0x8c]
push 0x10059b44
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
nop
sub dword [eax - 0x48c6f000], edi
add byte [eax], dl
jo 0x1000b8b9
add byte [eax], dl
sal dword [esi + 0x1001000], 1
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3