Function at 0x100084d0
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
sub esp, 0xc
push ebx
push edi
mov edi, dword [esp + 0x18]
test edi, edi
js 0x100084e5
cmp edi, dword [0x100c7024]
jl 0x100084fc
push 0x154
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutl_bitstring.h
push str.bitNum___0__bitNum___this__Size__
call fcn.1007777c
add esp, 0xc
cmp dword [0x100c7028], 1
mov ecx, 0x100c702c
mov eax, edi
cmovne ecx, dword [0x100c7030]
sar eax, 5
lea edx, [ecx + eax*4]
mov ecx, edi
mov eax, dword [edx]
and ecx, 0x1f
bts eax, ecx
mov dword [edx], eax
test edi, edi
js 0x1000852f
cmp edi, dword [0x100c7020]
jl 0x10008546
push 0x109
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlvector.h
push str.IsValidIndex_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7014]
mov ebx, dword [eax + edi*4]
cmp ebx, 0xffffffff
je 0x10008910
push ebp
push esi
nop dword [eax]
cmp dword [0x100c7040], 0xfffffffe
jne 0x10008580
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test ebx, ebx
js 0x1000858c
cmp ebx, dword [0x100c703c]
jl 0x100085a3
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
lea esi, [ebx + ebx*2]
shl esi, 2
mov dword [esp + 0x14], esi
mov eax, dword [esi + eax + 8]
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x100085d5
push 0x1e5
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlhashmap.h
push str.iNodeNext___iNode
call fcn.1007777c
add esp, 0xc
cmp dword [0x100c7040], 0xfffffffe
jne 0x100085f5
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test ebx, ebx
js 0x10008601
cmp ebx, dword [0x100c703c]
jl 0x10008618
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
mov edi, dword [esi + eax]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10008625
sub ecx, edx
mov esi, 0x417
mov edx, ecx
shr edx, 2
lea edi, [edi + edx*4]
neg edx
je 0x10008663
nop
imul eax, dword [edi + edx*4], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor esi, eax
rol esi, 0xd
add esi, 0xfaddaf14
lea esi, [esi + esi*4]
add edx, 1
jne 0x10008640
mov eax, ecx
xor edx, edx
and eax, 3
sub eax, 1
je 0x10008689
sub eax, 1
je 0x10008680
sub eax, 1
jne 0x1000869f
movzx edx, byte [edi + 2]
shl edx, 0x10
movzx eax, byte [edi + 1]
shl eax, 8
xor edx, eax
movzx eax, byte [edi]
xor eax, edx
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor esi, eax
xor esi, ecx
mov edi, dword [esp + 0x20]
mov eax, esi
shr eax, 0x10
xor eax, esi
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov ebp, eax
shr ebp, 0x10
xor ebp, eax
mov eax, dword [0x100c7020]
dec eax
and ebp, eax
cmp ebp, edi
je 0x10008901
cmp dword [0x100c7040], 0xfffffffe
jne 0x100086f6
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test ebx, ebx
js 0x10008702
cmp ebx, dword [0x100c703c]
jl 0x10008719
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + eax + 8]
mov dword [esp + 0x10], eax
test edi, edi
js 0x10008736
cmp edi, dword [0x100c7020]
jl 0x1000874d
push 0x109
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlvector.h
push str.IsValidIndex_i_
call fcn.1007777c
add esp, 0xc
mov esi, dword [0x100c7014]
mov esi, dword [esi + edi*4]
cmp esi, ebx
jne 0x1000878e
test edi, edi
js 0x10008766
cmp edi, dword [0x100c7020]
jl 0x1000877d
push 0x109
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlvector.h
push str.IsValidIndex_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7014]
mov edx, dword [esp + 0x10]
mov dword [eax + edi*4], edx
jmp 0x10008859
cmp esi, 0xffffffff
je 0x10008842
cmp dword [0x100c7040], 0xfffffffe
jne 0x100087b7
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test esi, esi
js 0x100087c3
cmp esi, dword [0x100c703c]
jl 0x100087da
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
lea edi, [esi + esi*2]
cmp dword [eax + edi*4 + 8], ebx
je 0x10008918
cmp dword [0x100c7040], 0xfffffffe
jne 0x1000880c
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test esi, esi
js 0x10008818
cmp esi, dword [0x100c703c]
jl 0x1000882f
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov esi, dword [0x100c7038]
mov esi, dword [esi + edi*4 + 8]
cmp esi, 0xffffffff
jne 0x10008797
push 0x291
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlhashmap.h
push str.false
call fcn.1007777c
add esp, 0xc
test ebp, ebp
js 0x10008865
cmp ebp, dword [0x100c7020]
jl 0x1000887c
push 0x109
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlvector.h
push str.IsValidIndex_i_
call fcn.1007777c
add esp, 0xc
cmp dword [0x100c7040], 0xfffffffe
mov eax, dword [0x100c7014]
lea esi, [eax + ebp*4]
jne 0x100088a4
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test ebx, ebx
js 0x100088b0
cmp ebx, dword [0x100c703c]
jl 0x100088c7
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
mov dword [edx + eax + 8], ecx
test ebp, ebp
js 0x100088e2
cmp ebp, dword [0x100c7020]
jl 0x100088f9
push 0x109
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlvector.h
push str.IsValidIndex_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7014]
mov dword [eax + ebp*4], ebx
mov ebx, dword [esp + 0x18]
cmp ebx, 0xffffffff
jne 0x10008560
pop esi
pop ebp
pop edi
pop ebx
add esp, 0xc
ret 4
cmp dword [0x100c7040], 0xfffffffe
jne 0x10008938
push 0xe1
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str._IsReadOnly__
call fcn.1007777c
add esp, 0xc
test esi, esi
js 0x10008944
cmp esi, dword [0x100c703c]
jl 0x1000895b
push 0xe2
push str.D:_axash3d_fwgsxash3d_fwgs3rdpartymainuiminiutlutlmemory.h
push str.IsIdxValid_i_
call fcn.1007777c
add esp, 0xc
mov eax, dword [0x100c7038]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], edx
jmp 0x10008859