Function at 0x10028270
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e20e5
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10136080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [0x101417d0]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x24], edi
call dword [0x10136b94]
mov esi, eax
xor al, al
mov byte [ebp - 0x1d], al
cmp byte [0x8092d8], al
je 0x100282e4
mov ecx, dword [0x809db4]
xor edx, edx
call dword [0x10136b8c]
test eax, eax
je 0x100282e1
push 2
xor edx, edx
mov ecx, eax
call dword [0x10136b9c]
test eax, eax
setne al
jmp 0x100282e4
mov al, byte [ebp - 0x1d]
test esi, esi
jne 0x100282ec
test al, al
je 0x100282f6
cmp byte [ebp + 0xc], 0
jne 0x10028606
mov esi, dword [edi + 0x30]
mov eax, ebx
shr eax, 8
mov edx, ebx
mov dword [ebp - 0x28], eax
mov edi, ebx
movzx eax, bl
xor eax, 0x811c9dc5
mov esi, dword [esi + 0x43c]
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x28]
movzx eax, al
shr edx, 0x10
shr edi, 0x18
xor ecx, eax
mov dword [ebp - 0x18], edx
imul ecx, ecx, 0x1000193
movzx eax, dl
mov edx, dword [ebp - 0x24]
xor ecx, eax
mov ebx, dword [edx + 0x30]
mov edx, dword [ebp - 0x18]
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x24]
xor eax, edi
imul eax, eax, 0x1000193
and esi, eax
mov eax, dword [ecx + 0x30]
mov ecx, dword [eax + 0x430]
mov eax, dword [ecx + esi*8 + 4]
cmp eax, dword [ebx + 0x428]
mov ebx, dword [ebp + 8]
mov byte [ebp - 0x1d], bl
jne 0x10028370
xor eax, eax
jmp 0x100283a9
mov esi, dword [ecx + esi*8]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], ecx
cmp ebx, dword [eax + 8]
je 0x100283a9
cmp eax, esi
je 0x1002838f
mov eax, dword [eax + 4]
cmp ebx, dword [eax + 8]
jne 0x10028381
jmp 0x10028391
xor eax, eax
mov ecx, ebx
mov byte [ebp - 0x1d], bl
shr ecx, 0x10
mov edi, ebx
mov dword [ebp - 0x18], ecx
mov ecx, ebx
shr edi, 0x18
shr ecx, 8
mov dword [ebp - 0x28], ecx
test eax, eax
je 0x10028433
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x14], ebx
push eax
mov ecx, dword [ecx + 0x30]
lea ecx, [ecx + 0x424]
call fcn.10029560
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov al, byte [ebp - 0x1d]
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x1d], al
cmp esi, ecx
je 0x10028433
movzx edi, byte [ebp + 0xc]
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x14], edi
test ecx, ecx
je 0x10028630
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x10028500
add esi, 0x28
cmp esi, dword [ebp - 0x30]
jne 0x100283f2
mov eax, ebx
mov byte [ebp - 0x1d], bl
shr eax, 0x10
mov edi, ebx
mov dword [ebp - 0x18], eax
mov eax, ebx
shr edi, 0x18
shr eax, 8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], ebx
mov edx, dword [eax + 0x30]
mov eax, ebx
shr eax, 8
add edx, 0x404
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x24], edx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.100094b0
cmp dword [eax + 4], 0
je 0x10028606
movzx eax, byte [ebp - 0x1d]
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], ebx
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x28]
movzx eax, al
mov ebx, dword [ebp - 0x24]
xor ecx, eax
mov eax, dword [ebp - 0x18]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
xor eax, edi
imul edi, eax, 0x1000193
lea eax, [ebp - 0x30]
push edi
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], edi
push eax
call fcn.100094b0
mov esi, dword [ebp - 0x18]
test esi, esi
jne 0x100285ef
cmp dword [ebx + 8], 0x4924924
je 0x10028626
jmp 0x10028507
mov al, 1
jmp 0x10028608
lea eax, [ebx + 4]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x38
mov dword [ebp - 0x28], 0
call fcn.100b6050
mov ecx, dword [ebp - 0x30]
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [esi + 8], ecx
mov dword [esi + 0x34], 0
mov dword [ebp - 4], 1
mov eax, dword [ebx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1010da80]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1010da80]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
seta al
test al, al
je 0x100285a4
mov ecx, ebx
call fcn.100298d0
push edi
lea eax, [esi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.100094b0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
jmp 0x100285a7
mov edx, dword [ebp - 0x1c]
mov edi, dword [edx + 4]
inc dword [ebx + 8]
mov dword [esi + 4], edi
mov dword [esi], edx
mov dword [edi], esi
mov dword [edx + 4], esi
mov eax, dword [ebx + 0x18]
and eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [edi]
mov edi, dword [ebp - 0x24]
jne 0x100285d5
mov dword [ecx + eax*8], esi
jmp 0x100285e4
cmp ebx, edx
jne 0x100285de
mov dword [ecx + eax*8], esi
jmp 0x100285e8
cmp dword [ecx + eax*8 + 4], edi
jne 0x100285e8
mov dword [ecx + eax*8 + 4], esi
mov dword [ebp - 4], 0xffffffff
movzx eax, byte [ebp + 0xc]
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x10028630
mov eax, dword [ecx]
lea edx, [ebp - 0x18]
push edx
call dword [eax + 8]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b603d
mov esp, ebp
pop ebp
ret 8
push str.unordered_map_set_too_long
call fcn.100b4a56
call fcn.100b4a19
int3