Function at 0x100b527f
Capabilities:
Encode data using xor

Disassembly:
push 0xf8
mov eax, 0x101aae4e
call fcn.101751dc
mov edi, edx
mov eax, ecx
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], eax
xor ebx, ebx
push ebx
lea eax, [ebp - 0xec]
push eax
push 6
lea eax, [ebp - 0x8c]
push eax
push ebx
push ebx
push 0x220408
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x100b52cd
mov eax, 0xe0010001
jmp 0x100b567c
mov esi, dword [ebp - 0x8c]
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.100175d2
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
push ebx
lea ecx, [ebp - 0xec]
push ecx
push esi
push eax
push ebx
push ebx
mov esi, 0x220408
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
call edi
test eax, eax
jne 0x100b5329
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0xdc], 0
je 0x100b52c3
push dword [ebp - 0xdc]
call fcn.10174e26
pop ecx
jmp 0x100b52c3
mov dword [ebp - 0x24], 0x66f8
mov eax, dword [ebp - 0x24]
xor eax, 0x5c
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x24]
inc eax
xor eax, 0x5c
mov word [ebp - 0x1e], ax
mov eax, dword [ebp - 0x24]
add eax, 2
xor eax, 0x2e
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x24]
add eax, 3
xor eax, 0x5c
mov word [ebp - 0x1a], ax
xor eax, eax
mov word [ebp - 0x18], ax
mov ax, word [ebp - 0x20]
mov edx, ebx
mov ax, word [ebp + edx*2 - 0x20]
movzx eax, ax
mov ecx, dword [ebp - 0x24]
add ecx, edx
xor ecx, eax
mov word [ebp + edx*2 - 0x20], cx
inc edx
cmp edx, 4
jb 0x100b536b
xor eax, eax
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x3c]
call fcn.1001eac7
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xe8]
add eax, 4
push eax
lea ecx, [ebp - 0x3c]
call fcn.1002f70f
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 8
cmovae eax, dword [ebp - 0x3c]
push ebx
push ebx
push 3
push ebx
push 1
push bind
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xe4], eax
cmp eax, 0xffffffff
jne 0x100b53e6
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x3c]
call fcn.1001701c
jmp 0x100b530e
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xf8]
call fcn.10029194
pop ecx
mov byte [ebp - 4], 2
push ebx
lea eax, [ebp - 0xec]
push eax
push 0x4c
lea eax, [ebp - 0xd8]
push eax
push 0x4c
push eax
push esi
push dword [ebp - 0xe4]
call edi
test eax, eax
jne 0x100b5443
mov byte [ebp - 4], 1
cmp byte [ebp - 0xf8], al
jne 0x100b53d6
lea ecx, [ebp - 0xf4]
call fcn.100291c4
jmp 0x100b53d6
xor esi, esi
inc esi
mov dword [ebp - 0xe8], esi
movzx eax, byte [ebp - 0xd2]
cmp esi, eax
ja 0x100b563e
mov edx, 0x16d
lea ecx, [ebp - 0xe0]
call fcn.100175d2
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xf0], eax
mov dword [eax], esi
push ebx
lea ecx, [ebp - 0xec]
push ecx
push 0x16d
push eax
push 0x16d
push eax
push 0x22040c
push dword [ebp - 0xe4]
call edi
test eax, eax
je 0x100b561f
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x74], ebx
push 7
pop eax
mov dword [ebp - 0x70], eax
xor ecx, ecx
mov word [ebp - 0x84], cx
mov byte [ebp - 4], 4
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], eax
mov word [ebp - 0x6c], cx
mov byte [ebp - 4], 5
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov word [ebp - 0x54], cx
mov byte [ebp - 4], al
mov eax, dword [ebp - 0xf0]
add eax, 4
push eax
push esi
mov edx, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
call fcn.100b51aa
pop ecx
pop ecx
test eax, eax
jns 0x100b5520
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54]
call fcn.1001701c
mov byte [ebp - 4], 8
jmp 0x100b5608
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx]
lea edx, [ebp - 0x84]
push edx
push ecx
call dword [eax]
test eax, eax
jne 0x100b55c8
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x54]
call fcn.1001701c
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x6c]
call fcn.1001701c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.1001701c
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe0], 0
je 0x100b5582
push dword [ebp - 0xe0]
call fcn.10174e26
pop ecx
mov byte [ebp - 4], 1
cmp byte [ebp - 0xf8], 0
jne 0x100b559a
lea ecx, [ebp - 0xf4]
call fcn.100291c4
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x3c]
call fcn.1001701c
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0xdc], 0
je 0x100b55be
push dword [ebp - 0xdc]
call fcn.10174e26
pop ecx
mov eax, 0xe001000f
jmp 0x100b567c
mov dword [ebp - 4], 7
jmp 0x100b55f8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x54]
call fcn.1001701c
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x6c]
call fcn.1001701c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84]
call fcn.1001701c
mov byte [ebp - 4], 2
cmp dword [ebp - 0xe0], 0
je 0x100b5638
push dword [ebp - 0xe0]
call fcn.10174e26
pop ecx
inc esi
jmp 0x100b5446
mov byte [ebp - 4], 1
cmp byte [ebp - 0xf8], 0
jne 0x100b5656
lea ecx, [ebp - 0xf4]
call fcn.100291c4
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x3c]
call fcn.1001701c
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0xdc], 0
je 0x100b567a
push dword [ebp - 0xdc]
call fcn.10174e26
pop ecx
xor eax, eax
call fcn.10175129
ret