Function at 0x10136fa0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10152935
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x1030e040]
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 - 0x3c], edx
mov esi, ecx
mov eax, edx
mov dword [ebp - 0x40], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
lea eax, [ebp - 0x40]
imul edi, ecx, 0x1000193
push edi
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10137ab0
cmp dword [eax + 4], 0
je 0x10137157
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10137ab0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10137143
cmp dword [0x103175fc], 0xaaaaaaa
jne 0x1013706f
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x50], 0x103175f8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0
push 0x18
mov dword [ebp - 0x4c], 0
call fcn.1013cffa
mov dword [ebp - 0x40], eax
add esp, 4
mov dword [ebp - 0x4c], eax
lea ecx, [eax + 8]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ebp - 4], 1
mov eax, dword [0x103175fc]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102f3ed0]
mov eax, dword [0x10317610]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102f3ed0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x103175f4]
jbe 0x10137128
call fcn.10137540
mov eax, dword [ebp - 0x40]
push edi
add eax, 8
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.10137ab0
mov ecx, dword [eax]
jmp 0x1013712b
mov ecx, dword [ebp - 0x48]
push dword [ebp - 0x40]
mov dword [ebp - 0x4c], 0
push ecx
push edi
call fcn.101375d0
mov dword [ebp - 4], 0xffffffff
movq xmm0, qword [eax + 0xc]
movq qword [esi], xmm0
mov ecx, dword [eax + 0x14]
mov dword [esi + 8], ecx
jmp 0x101372cd
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 8]
mov eax, dword [ebp - 0x3c]
push eax
push dword [0x10317378]
call dword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemory]
test eax, eax
jne 0x101372ed
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x38]
push edx
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x44]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
push edi
mov dword [ebp - 0x4c], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [ebp - 0x60], ecx
addsd xmm0, qword [eax*8 + 0x102f3ed0]
mov eax, dword [ebp - 0x20]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102f3ed0]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
cvtpd2ps xmm0, xmm0
push eax
unpcklps xmm0, xmm1
movaps xmmword [ebp - 0x80], xmm0
movq qword [ebp - 0x68], xmm0
call fcn.10137ab0
cmp dword [ebp - 0x54], 0
jne 0x101372c3
cmp dword [0x103175fc], 0xaaaaaaa
jne 0x10137205
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x48], 0x103175f8
mov dword [ebp - 0x44], 0
mov dword [ebp - 4], 3
push 0x18
mov dword [ebp - 0x44], 0
call fcn.1013cffa
movups xmm0, xmmword [ebp - 0x6c]
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [ebp - 0x44], eax
add eax, 8
mov dword [ebp - 0x40], eax
movups xmmword [eax], xmm0
mov dword [ebp - 4], 4
mov ecx, dword [0x103175fc]
mov eax, dword [0x10317610]
inc ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x102f3ed0]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102f3ed0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x103175f4]
jbe 0x101372a4
call fcn.10137540
push edi
push dword [ebp - 0x40]
lea eax, [ebp - 0x58]
push eax
call fcn.10137ab0
mov ecx, dword [eax]
jmp 0x101372a7
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x3c]
mov dword [ebp - 0x44], 0
push ecx
push edi
call fcn.101375d0
mov dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [ebp - 0x80]
mov eax, dword [ebp - 0x4c]
movq qword [esi], xmm0
mov dword [esi + 8], eax
mov eax, esi
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.1013cfec
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.failed_to_load_image
lea ecx, [ebp - 0x5c]
call fcn.10012560
push 0x1030aad8
lea eax, [ebp - 0x5c]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3