Function at 0x100b54a0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101aa7d0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa8
mov eax, dword [0x10242040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x98], ecx
lea eax, [ebx + 8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x90]
call fcn.10018230
mov edx, dword [ebp - 0x7c]
lea edi, [ebp - 0x90]
mov ecx, dword [ebp - 0x90]
cmp edx, 0xf
cmova edi, ecx
mov esi, edi
lea eax, [esi + 1]
mov dword [ebp - 0x94], eax
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100b5520
sub esi, dword [ebp - 0x94]
lea eax, [esi + 1]
mov esi, 0x4fa38bcd
mov dword [ebp - 0x94], eax
test eax, eax
je 0x100b5a1b
mov edx, eax
movsx eax, byte [edi]
lea edi, [edi + 1]
xor eax, esi
imul esi, eax, 0xf1546419
sub edx, 1
jne 0x100b5545
mov edx, dword [ebp - 0x7c]
cmp esi, 0x6e8d5702
ja 0x100b5700
je 0x100b56c8
cmp esi, 0x41c21606
ja 0x100b56ac
je 0x100b5821
cmp esi, 0x2b2123ec
ja 0x100b5668
je 0x100b5630
cmp esi, 0xfdc3d83
je 0x100b55f8
cmp esi, 0x1e54485f
jne 0x100b5a1b
cmp edx, 0xf
jbe 0x100b55d3
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b55c9
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0xa8], 8
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa4], 0x27
lea eax, [ebp - 0xa0]
jmp 0x100b58d7
cmp edx, 0xf
jbe 0x100b5626
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b561c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 9
jmp 0x100b59e3
cmp edx, 0xf
jbe 0x100b565e
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b5654
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 2
jmp 0x100b59e3
cmp esi, 0x32db11da
jne 0x100b5a1b
cmp edx, 0xf
jbe 0x100b56a2
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b5698
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 0x24
jmp 0x100b59e3
cmp esi, 0x50d12844
je 0x100b5889
cmp esi, 0x5a25f87c
je 0x100b571a
cmp esi, 0x6c5a276a
jmp 0x100b5714
cmp edx, 0xf
jbe 0x100b56f6
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b56ec
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 0x1c
jmp 0x100b59e3
cmp esi, 0x7faa654f
ja 0x100b57a0
je 0x100b5768
cmp esi, 0x79b1d5f4
jne 0x100b5a1b
cmp edx, 0xf
jbe 0x100b5748
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b573e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0x38], 7
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], 0x3c
jmp 0x100b58d7
cmp edx, 0xf
jbe 0x100b5796
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b578c
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 0xe
jmp 0x100b59e3
cmp esi, 0xa85007a7
ja 0x100b5871
je 0x100b5821
cmp esi, 0x8f113116
je 0x100b55a5
cmp esi, 0x9cecce3e
je 0x100b57ce
cmp esi, 0xa3d16543
jne 0x100b5a1b
cmp edx, 0xf
jbe 0x100b57fc
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b57f2
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0xa0], 1
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x9c], 0x40
lea eax, [ebp - 0x98]
jmp 0x100b58d7
cmp edx, 0xf
jbe 0x100b584f
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b5845
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0xb0], 0x1e
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xac], 0x3f
lea eax, [ebp - 0xa8]
jmp 0x100b58d7
cmp esi, 0xbd2c91ba
je 0x100b59b4
cmp esi, 0xf906724c
jne 0x100b5a1b
cmp edx, 0xf
jbe 0x100b58b7
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b58ad
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0xb8], 0x26
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb4], 0xb
lea eax, [ebp - 0xb0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
call fcn.1004c370
mov eax, dword [0x10337d84]
mov edi, dword [ebp - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x94], eax
cmp esi, eax
je 0x100b5936
mov ecx, dword [ebp - 0x1c]
movzx edx, word [esi]
mov eax, edi
cmp eax, ecx
je 0x100b592b
movsx edx, dx
nop dword [eax]
cmp edx, dword [eax]
je 0x100b596d
add eax, 4
cmp eax, ecx
jne 0x100b5920
add esi, 2
cmp esi, dword [ebp - 0x94]
jne 0x100b5911
test edi, edi
je 0x100b5a60
mov eax, dword [ebp - 0x18]
sub eax, edi
sar eax, 2
lea ecx, [eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x100b59a5
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b59a5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
test edi, edi
je 0x100b5bd1
mov eax, dword [ebp - 0x18]
sub eax, edi
sar eax, 2
lea ecx, [eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x100b599e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5967
push ecx
push edi
jmp 0x100b5bc9
push ecx
push edi
call fcn.1014bb22
add esp, 8
jmp 0x100b5a60
cmp edx, 0xf
jbe 0x100b59de
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b59d4
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5a3b
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov edx, 0x28
mov eax, dword [0x10337d84]
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x7c], 0xf
mov dword [ebp - 0x80], 0
mov ecx, dword [eax]
mov esi, dword [eax + 4]
cmp ecx, esi
je 0x100b5a60
movzx eax, word [ecx]
cwde
cmp eax, edx
je 0x100b5bd1
add ecx, 2
cmp ecx, esi
jne 0x100b5a06
jmp 0x100b5a60
cmp edx, 0xf
jbe 0x100b5a4b
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b5a41
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b5a41
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1014bb22
add esp, 8
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 2
movups xmmword [ebp - 0x2c], xmm0
mov eax, 0x203b
mov dword [ebp - 0x18], 0xf
mov word [ebp - 0x2c], ax
mov byte [ebp - 0x2a], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x44], 0x20797562
mov byte [ebp - 0x40], 0
lea eax, [ebx + 8]
mov byte [ebp - 4], 2
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x5c]
call fcn.10020540
add esp, 4
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
push ecx
push eax
push dword [ebp - 0x98]
lea ecx, [ebp - 0x74]
call fcn.1004c6c0
mov ecx, dword [ebp - 0x98]
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 4], 4
call fcn.1001ee40
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xf
jbe 0x100b5b13
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b5b09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5bc1
push ecx
push edx
call fcn.1014bb22
add esp, 8
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100b5b47
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b5b3d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5bc1
push ecx
push edx
call fcn.1014bb22
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp ecx, 0xf
jbe 0x100b5b89
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b5b7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b5bc1
push ecx
push edx
call fcn.1014bb22
add esp, 8
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp ecx, 0xf
jbe 0x100b5bd1
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b5bc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b5bc7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1014bb22
add esp, 8
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0xf
jbe 0x100b5c07
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b5bfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b5bfd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1014bb22
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1014b7c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret