Function at 0x100b8990
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x1017c400]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101f04c8]
push ebx
push esi
push edi
mov edi, dword [eax + ecx*4]
mov eax, dword [0x101fa8ac]
cmp eax, dword [edi + 4]
jle 0x100b8ab1
push 0x101fa8ac
call fcn.100bf2a3
add esp, 4
cmp dword [0x101fa8ac], 0xffffffff
jne 0x100b8ab1
lea eax, [ebp - 0x34]
mov ecx, 0x101ea590
push eax
call fcn.1003af10
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x34]
mov ecx, 0x101ea700
cmova esi, dword [ebp - 0x34]
push eax
call fcn.1004d3e0
mov ecx, dword [0x101f0d18]
lea edx, [ebp - 0x1c]
cmp dword [ebp - 8], 0xf
push 0
cmova edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push 1
push esi
push edx
mov eax, dword [eax + 0x150]
call eax
mov ecx, dword [ebp - 8]
mov dword [0x101fa890], eax
cmp ecx, 0xf
jbe 0x100b8a5e
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8a54
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8ed0
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x100b8aa4
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8a9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8ed0
push ecx
push edx
call fcn.100bf656
add esp, 8
push 0x101fa8ac
call fcn.100bf252
add esp, 4
mov eax, dword [0x101fa8a8]
cmp eax, dword [edi + 4]
jle 0x100b8bb0
push 0x101fa8a8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101fa8a8], 0xffffffff
jne 0x100b8bb0
lea eax, [ebp - 0x34]
mov ecx, 0x101ea810
push eax
call fcn.1003af10
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x34]
mov ecx, 0x101ea648
cmova esi, dword [ebp - 0x34]
push eax
call fcn.1004dcb0
mov ecx, dword [0x101f0d18]
lea edx, [ebp - 0x1c]
cmp dword [ebp - 8], 0xf
push 0
cmova edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push 1
push esi
push edx
mov eax, dword [eax + 0x150]
call eax
mov ecx, dword [ebp - 8]
mov dword [0x101fa89c], eax
cmp ecx, 0xf
jbe 0x100b8b5d
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8b53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8ed5
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x100b8ba3
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8b99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8ed5
push ecx
push edx
call fcn.100bf656
add esp, 8
push 0x101fa8a8
call fcn.100bf252
add esp, 4
mov eax, dword [0x101fa898]
cmp eax, dword [edi + 4]
jle 0x100b8d67
push 0x101fa898
call fcn.100bf2a3
add esp, 4
cmp dword [0x101fa898], 0xffffffff
jne 0x100b8d67
lea eax, [ebp - 0x34]
mov ecx, 0x101ea8e8
push eax
call fcn.1003af10
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
cmova eax, dword [ebp - 0x34]
cmp byte [0x101ea9e0], 0
mov dword [ebp - 0x38], eax
je 0x100b8c57
cmp byte [0x101ea9e1], 0
jne 0x100b8ca5
mov byte [0x101ea9e1], 1
xor esi, esi
xor edx, edx
mov ebx, esi
xor edx, dword [0x101eaa1c]
xor ebx, dword [0x101eaa18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [esi + 0x101ea9e2], al
inc esi
cmp esi, 0x34
jb 0x100b8c16
jmp 0x100b8ca5
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x101eaa1c]
xor ebx, dword [0x101eaa18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x101ea9e2]
xor al, bl
mov byte [esi + 0x101ea9e2], al
inc esi
cmp esi, 0x34
jb 0x100b8c60
push ecx
push 0x101eaa15
push 0x101ea9e2
lea ecx, [ebp - 0x1c]
call fcn.1003b2a0
mov ecx, dword [0x101f0d18]
lea edx, [ebp - 0x1c]
cmp dword [ebp - 8], 0xf
push 0
cmova edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push 1
push dword [ebp - 0x38]
mov eax, dword [eax + 0x150]
push edx
call eax
mov ecx, dword [ebp - 8]
mov dword [0x101fa8a4], eax
cmp ecx, 0xf
jbe 0x100b8d14
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8d0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8eda
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x100b8d5a
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8d50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8eda
push ecx
push edx
call fcn.100bf656
add esp, 8
push 0x101fa898
call fcn.100bf252
add esp, 4
mov eax, dword [0x101fa8a0]
cmp eax, dword [edi + 4]
jle 0x100b8e66
push 0x101fa8a0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101fa8a0], 0xffffffff
jne 0x100b8e66
lea eax, [ebp - 0x34]
mov ecx, 0x101ea8a0
push eax
call fcn.1003af10
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x34]
mov ecx, 0x101ea610
cmova esi, dword [ebp - 0x34]
push eax
call fcn.10039920
mov ecx, dword [0x101f0d18]
lea edx, [ebp - 0x1c]
cmp dword [ebp - 8], 0xf
push 0
cmova edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push 1
push esi
push edx
mov eax, dword [eax + 0x150]
call eax
mov ecx, dword [ebp - 8]
mov dword [0x101fa8b0], eax
cmp ecx, 0xf
jbe 0x100b8e13
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8e09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8edf
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x100b8e59
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b8e4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b8edf
push ecx
push edx
call fcn.100bf656
add esp, 8
push 0x101fa8a0
call fcn.100bf252
add esp, 4
mov ebx, dword [0x101f536c]
mov ecx, dword [0x101fa890]
shr ebx, 3
and bl, 1
mov byte [ebp - 0x38], bl
mov eax, dword [ecx]
mov esi, dword [ebp - 0x38]
push esi
push 4
call dword [eax + 0x74]
mov ecx, dword [0x101fa89c]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x101fa8a4]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x101fa8b0]
push esi
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
test bl, bl
je 0x100b8ebf
mov eax, dword [0x101f1a54]
mov dword [eax], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100bf244
mov esp, ebp
pop ebp
ret
call fcn.1012a37e
call fcn.1012a37e
call fcn.1012a37e
call fcn.1012a37e
int3