Function at 0x100d92a0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov edi, ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100daff0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
lea ecx, [edx + 4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x38], ecx
call dword [eax + 0x20]
test eax, eax
je 0x100d9501
mov esi, eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x2950]
test ebx, ebx
je 0x100d9501
cmp dword [ebx], 0
je 0x100d9501
mov eax, dword [edi + 0x2c8]
cmp eax, dword [edi + 0x2cc]
je 0x100d9334
push 0x1898
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x2c8]
lea ecx, [eax + 0x1898]
mov dword [edi + 0x2c8], ecx
jmp 0x100d9342
add edi, 0x2c4
mov ecx, edi
push eax
call fcn.100da520
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1012d364]
vmovss xmm0, dword [ecx]
vmovss dword [eax], xmm0
mov ecx, dword [ebx]
mov dword [eax + 0x187c], ecx
mov ecx, dword [0x1012d3bc]
movzx eax, word [esi + 0x138]
mov edx, dword [ecx]
push eax
call dword [edx + 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x1880], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0x1884], ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
mov eax, dword [ebx + 0x14]
cmp eax, 3
jae 0x100d9514
mov dword [ebp - 0x30], eax
mov dword [edx + 0x1850], ecx
mov dword [edx + 0x1854], esi
mov eax, dword [0x10132ba0]
test al, 1
je 0x100d9519
mov edi, dword [0x10132b9c]
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
mov dword [edx + 0x1874], eax
mov eax, dword [0x10132dc4]
test al, 1
je 0x100d9577
mov edi, dword [0x10132dc0]
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx]
mov dword [edx + 0x186c], eax
mov eax, dword [0x10132dcc]
test al, 1
je 0x100d95d1
mov esi, dword [0x10132dc8]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x30]
imul eax, eax, 0x1b50
mov dword [ebp - 0x20], eax
add eax, ebx
add eax, 0x35c
mov dword [ebp - 0x30], eax
add ebx, 0x35c
lea edi, [edx + 0x1834]
mov eax, dword [esi + 4]
mov esi, dword [ebp + 8]
mov eax, dword [eax + esi]
mov dword [edx + 0x1870], eax
lea ecx, [esi + 8]
mov eax, dword [esi + 8]
mov esi, edx
call dword [eax + 0x28]
mov dword [esi + 0x1868], eax
mov ecx, ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
vmovsd xmm0, qword [eax + 0x60]
vmovsd qword [edi], xmm0
mov eax, dword [eax + 0x68]
mov dword [edi + 8], eax
mov edi, dword [ebp - 0x20]
vmovss xmm0, dword [ecx + edi + 0x1804]
mov ebx, ecx
lea eax, [esi + 0x1840]
mov dword [ebp - 0x24], eax
vmovss dword [esi + 0x1844], xmm0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x38]
call dword [eax + pe_nt_image_headers32]
mov word [esi + 0x1878], ax
mov dword [esi + 0x1864], 1
lea eax, [esi + 4]
mov ecx, dword [ebx + edi + 0x1800]
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push dword [ebp - 0x30]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x1012d320]
lea edi, [esi + 0x1804]
mov ecx, dword [ebp - 0x24]
mov edx, edi
call dword [eax + 0xd4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
vmovss xmm0, dword [eax + 0x60]
vmovss dword [esi + 0x1810], xmm0
mov eax, dword [ecx]
vmovss xmm0, dword [eax + 0x64]
vmovss dword [esi + 0x1820], xmm0
mov eax, dword [ecx]
vmovss xmm0, dword [eax + 0x68]
vmovss dword [esi + 0x1830], xmm0
mov dword [esi + 0x1888], edi
mov dword [esi + 0x1858], edi
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.1007cfb0
mov dword [ebp - 0x2c], ebx
or eax, 1
mov dword [0x10132ba0], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x20], ecx
push str.CBaseAnimating__m_nHitboxSet
call fcn.100083b0
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x3c], 0x10
jb 0x100d9552
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d962b
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d9646
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d968f
mov dword [ebp - 0x2c], ebx
or eax, 1
mov dword [0x10132dc4], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x20], ecx
push str.m_nSkin
call fcn.100083b0
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x3c], 0x10
jb 0x100d95b0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x100d9632
mov eax, esi
and eax, 3
mov dword [ebp - 0x24], eax
cmp esi, 4
jae 0x100d9719
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d9762
mov dword [ebp - 0x2c], ebx
or eax, 1
mov dword [0x10132dcc], eax
mov eax, dword [0x1012d324]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x20], ecx
push str.m_nBody
call fcn.100083b0
mov edi, dword [ebp - 0x40]
cmp dword [ebp - 0x3c], 0x10
jb 0x100d960a
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
test edi, edi
je 0x100d963c
mov eax, edi
and eax, 3
mov dword [ebp - 0x24], eax
cmp edi, 4
jae 0x100d97ec
mov ecx, 0x811c9dc5
xor edx, edx
jmp 0x100d9835
mov ecx, 0x811c9dc5
jmp 0x100d96ac
mov ecx, 0x811c9dc5
jmp 0x100d977f
mov ecx, 0x811c9dc5
jmp 0x100d9852
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d9655
cmp dword [ebp - 0x24], 0
je 0x100d96ac
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d969a
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d98c2
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d96eb
cmp dword [edi + 0x1c], 0x10
jb 0x100d96d7
mov eax, dword [edi + 8]
jmp 0x100d96da
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d96fd
cmp edi, ebx
je 0x100d98c2
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d96cc
jmp 0x100d96eb
add edi, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x10132b9c], edi
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
jmp 0x100d93b3
mov edi, esi
and edi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp edi, edx
jne 0x100d9728
cmp dword [ebp - 0x24], 0
je 0x100d977f
add edx, dword [ebp - 0x20]
xor edi, edi
movzx ebx, byte [edx + edi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc edi
cmp dword [ebp - 0x24], edi
jne 0x100d976d
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov edi, dword [eax + ecx*8 + 4]
cmp edi, dword [edx + 4]
je 0x100d98d6
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp esi, dword [edi + 0x18]
jne 0x100d97be
cmp dword [edi + 0x1c], 0x10
jb 0x100d97aa
mov eax, dword [edi + 8]
jmp 0x100d97ad
lea eax, [edi + 8]
push esi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d97d0
cmp edi, ebx
je 0x100d98d6
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
je 0x100d979f
jmp 0x100d97be
add edi, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x10132dc0], edi
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
jmp 0x100d93d5
mov esi, edi
and esi, 0xfffffffc
mov ecx, 0x811c9dc5
xor edx, edx
mov eax, dword [ebp - 0x20]
movzx ebx, byte [eax + edx]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 1]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 2]
xor ebx, ecx
imul ecx, ebx, 0x1000193
movzx ebx, byte [eax + edx + 3]
xor ebx, ecx
imul ecx, ebx, 0x1000193
add edx, 4
cmp esi, edx
jne 0x100d97fb
cmp dword [ebp - 0x24], 0
je 0x100d9852
add edx, dword [ebp - 0x20]
xor esi, esi
movzx ebx, byte [edx + esi]
xor ebx, ecx
imul ecx, ebx, 0x1000193
inc esi
cmp dword [ebp - 0x24], esi
jne 0x100d9840
mov edx, dword [ebp - 0x28]
and ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
cmp esi, dword [edx + 4]
je 0x100d98ea
add ecx, ecx
mov ebx, dword [eax + ecx*4]
cmp edi, dword [esi + 0x18]
jne 0x100d9891
cmp dword [esi + 0x1c], 0x10
jb 0x100d987d
mov eax, dword [esi + 8]
jmp 0x100d9880
lea eax, [esi + 8]
push edi
push eax
push dword [ebp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x100d989f
cmp esi, ebx
je 0x100d98ea
mov esi, dword [esi + 4]
cmp edi, dword [esi + 0x18]
je 0x100d9872
jmp 0x100d9891
add esi, 0x20
lea ecx, [ebp - 0x50]
call fcn.100029d0
mov dword [0x10132dc8], esi
mov dword [ebp - 0x10], 0xffffffff
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
jmp 0x100d93fe
mov dword [ebp - 0x10], 1
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 3
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
mov dword [ebp - 0x10], 5
push 0x1011ed9d
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
add esp, 4
nop
push ebp
sub esp, 0xc
add ebp, 0xc
lea ecx, [ebp - 0x50]
call fcn.100029d0
add esp, 0xc
pop ebp
ret