Function at 0x1000b1e0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x1c]
push esi
xor esi, esi
cmp ebx, esi
je 0x1000b1f4
cmp dword [ebx + 0x38], esi
jne 0x1000b201
pop esi
mov eax, 0xffffff9a
pop ebx
add esp, 0x14
ret 0x14
cmp dword [ebx + 0x9c], esi
je 0x1000b20f
push ebx
call sym.zlibwapi.dll_unzCloseCurrentFile
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x14]
push edx
mov eax, ebx
call fcn.1000a8b0
add esp, 0xc
test eax, eax
je 0x1000b239
pop esi
mov eax, 0xffffff99
pop ebx
add esp, 0x14
ret 0x14
push ebp
push 0x90
call sub.CRTDLL.dll_malloc
mov ebp, eax
add esp, 4
cmp ebp, esi
je 0x1000b285
push 0x4000
call sub.CRTDLL.dll_malloc
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0x48], edx
mov edx, dword [esp + 0x34]
add esp, 4
cmp eax, esi
mov dword [ebp], eax
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x8c], edx
jne 0x1000b293
push ebp
call sub.CRTDLL.dll_free
add esp, 4
pop ebp
pop esi
mov eax, 0xffffff98
pop ebx
add esp, 0x14
ret 0x14
mov eax, dword [esp + 0x28]
cmp eax, esi
mov dword [ebp + 0x40], esi
je 0x1000b2a3
mov ecx, dword [ebx + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
je 0x1000b2dc
mov dword [ecx], 6
mov eax, dword [ebx + 0x50]
and eax, 6
sub eax, 2
je 0x1000b2d6
sub eax, 2
je 0x1000b2ce
sub eax, 2
jne 0x1000b2dc
mov dword [ecx], 1
jmp 0x1000b2dc
mov dword [ecx], 2
jmp 0x1000b2dc
mov dword [ecx], 9
mov eax, dword [ebx + 0x5c]
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], eax
mov ecx, dword [ebx + 0x54]
mov dword [ebp + 0x84], ecx
mov eax, dword [ebx + 0x20]
push edi
mov dword [ebp + 0x80], eax
lea edi, [ebp + 0x60]
mov ecx, 8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x2c]
xor esi, esi
mov dword [ebp + 0x88], ecx
mov dword [ebp + 0x18], esi
cmp dword [ebx + 0x54], 8
jne 0x1000b34b
cmp edx, esi
jne 0x1000b34b
push 0x38
push 0x1000e088
lea eax, [ebp + 4]
push 0xfffffffffffffff1
push eax
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x2c], esi
mov dword [eax], esi
mov dword [ebp + 8], esi
call sym.zlibwapi.dll_inflateInit2_
cmp eax, esi
jne 0x1000b43d
mov dword [ebp + 0x40], 1
mov edx, dword [ebx + 0x60]
mov dword [ebp + 0x58], edx
mov eax, dword [ebx + 0x64]
mov edx, dword [esp + 0x14]
mov dword [ebp + 0x5c], eax
mov ecx, dword [ebx + 0x98]
lea eax, [ecx + edx + 0x1e]
mov dword [ebp + 0x3c], eax
mov dword [ebp + 8], esi
mov dword [ebx + 0x9c], ebp
mov ebp, dword [esp + 0x38]
cmp ebp, esi
je 0x1000b43b
call sym.zlibwapi.dll_get_crc_table
mov dword [ebx + 0xb0], eax
lea esi, [ebx + 0xa4]
mov edi, eax
mov edx, esi
mov eax, ebp
call fcn.1000b4b0
mov eax, dword [ebx + 0x9c]
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x88]
mov eax, dword [ebx + 0x1c]
push 0
add ecx, edx
mov edx, dword [ebx + 0x20]
push ecx
push edx
push eax
call dword [ebx + 0x10]
add esp, 0x10
test eax, eax
je 0x1000b3ce
pop edi
pop ebp
pop esi
mov eax, 0xffffff98
pop ebx
add esp, 0x14
ret 0x14
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x1c]
push 0xc
lea ecx, [esp + 0x1c]
push ecx
push edx
push eax
call dword [ebx + 4]
add esp, 0x10
cmp eax, 0xc
jb 0x1000b3bf
xor ebp, ebp
lea ebx, [ebx]
mov eax, dword [ebx + 0xac]
mov dl, byte [esp + ebp + 0x18]
mov edi, dword [ebx + 0xb0]
and eax, 0xfffd
or eax, 2
mov ecx, eax
xor ecx, 1
imul ecx, eax
shr ecx, 8
xor dl, cl
movsx eax, dl
mov byte [esp + ebp + 0x18], dl
call fcn.10009fe0
inc ebp
cmp ebp, 0xc
jl 0x1000b3f0
mov eax, dword [ebx + 0x9c]
add dword [eax + 0x3c], 0xc
mov dword [ebx + 0xa0], 1
xor eax, eax
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x14
ret 0x14