Function at 0x100b3f90
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x168
mov ecx, 0x18
xor eax, eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x178]
push edi
lea edi, [esp + 0x118]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x184]
lea eax, [esp + 0x118]
push eax
push esi
push edi
call fcn.1000fc50
add esp, 0xc
test eax, eax
je 0x100b4252
mov eax, dword [esp + 0x128]
lea ecx, [esp + 0x14]
push 0
lea edx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x188]
push edx
push 0x100
push 0x100
push eax
push ecx
push esi
push edi
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x100b4252
cmp dword [esp + 0x14], 0x100
jne 0x100b4252
mov esi, dword [esp + 0x134]
xor eax, eax
xor edi, edi
xor edx, edx
mov byte [esp + 0x13], 0
xor ecx, ecx
mov ebp, 0xc233
mov bl, 0xe2
cmp eax, 0xb
jge 0x100b411b
cmp eax, 0xa
ja case.default.0x100b4045
jmp dword [eax*4 + 0x100b4260]
cmp byte [esp + ecx + 0x18], 0x56
jne case.default.0x100b4045
mov eax, 1
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0x57
jne case.default.0x100b4045
mov eax, 2
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0xb9
jne case.default.0x100b4045
mov edi, dword [esp + ecx + 0x19]
mov eax, 3
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0xba
jne case.default.0x100b4045
mov al, byte [esp + ecx + 0x19]
mov byte [esp + 0x13], al
mov eax, 4
jmp case.default.0x100b4045
cmp word [esp + ecx + 0x18], 0xc033
jne case.default.0x100b4045
mov eax, 5
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0xbe
jne case.default.0x100b4045
mov edx, dword [esp + ecx + 0x19]
mov eax, 6
sub edx, esi
jmp case.default.0x100b4045
cmp word [esp + ecx + 0x18], 0xfe8b
jne case.default.0x100b4045
mov eax, 7
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0xac
jne case.default.0x100b4045
mov eax, 8
jmp case.default.0x100b4045
cmp word [esp + ecx + 0x18], bp
jne case.default.0x100b4045
mov eax, 9
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], 0xaa
jne case.default.0x100b4045
mov eax, 0xa
jmp case.default.0x100b4045
cmp byte [esp + ecx + 0x18], bl
jne case.default.0x100b4045
mov eax, 0xb
inc ecx
cmp ecx, 0xfc
jl 0x100b4033
cmp eax, 0xb
jne 0x100b4252
test edx, edx
je 0x100b4252
test edi, edi
je 0x100b4252
cmp edx, dword [esp + 0x150]
jae 0x100b4252
mov esi, dword [esp + 0x180]
cmp edi, esi
jge 0x100b4252
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x184]
push edx
push ebx
push ebp
call fcn.1000fe50
add esp, 0xc
test eax, eax
jle 0x100b4252
cmp eax, esi
jg 0x100b4252
lea ecx, [eax + edi]
cmp ecx, esi
jg 0x100b4252
lea edx, [esp + 0x14]
push 1
lea ecx, [esp + 0x1c]
push edx
push ecx
push 0x100
push 0x100
push eax
push esi
push ebx
push ebp
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x100b4252
cmp dword [esp + 0x14], 0x100
jne 0x100b4252
xor eax, eax
mov dl, byte [esp + 0x13]
mov bl, byte [esp + eax + 0x18]
xor bl, dl
mov byte [esp + eax + 0x18], bl
inc eax
cmp eax, 0x100
jl 0x100b41bb
xor ecx, ecx
xor eax, eax
mov ebp, 0x90909090
mov ebx, 0xb890
mov edi, 0x5e5fe0ff
mov esi, 0x5de58b5b
mov dl, 0xc3
cmp dword [esp + eax + 0x18], ebp
jne 0x100b420a
cmp word [esp + eax + 0x1c], bx
jne 0x100b420a
cmp dword [esp + eax + 0x22], edi
jne 0x100b420a
cmp dword [esp + eax + 0x26], esi
jne 0x100b420a
cmp byte [esp + eax + 0x2a], dl
je 0x100b4214
inc eax
cmp eax, 0xee
jl 0x100b41eb
jmp 0x100b4221
mov ecx, dword [esp + eax + 0x1e]
mov edx, dword [esp + 0x134]
sub ecx, edx
cmp eax, 0xee
jg 0x100b4252
test ecx, ecx
je 0x100b4252
cmp ecx, dword [esp + 0x150]
ja 0x100b4252
mov eax, dword [esp + 0x188]
test eax, eax
je 0x100b4242
mov dword [eax], ecx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x168
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x168
ret