Function at 0x1009d4c0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101209e1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x228
push esi
push edi
mov eax, dword [0x101c7100]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], edx
mov word [ebp - 0x1c], cx
lea eax, [ebp - 0x1c]
push eax
call fcn.100b11d0
movzx ecx, byte [ebx + 8]
mov edi, eax
xor ecx, 0x811c9dc5
lea eax, [ebx + 8]
imul ecx, ecx, 0x1000193
push ecx
push eax
lea eax, [ebp - 0x84]
mov ecx, edi
push eax
call fcn.1004ad90
mov esi, dword [eax + 4]
test esi, esi
jne 0x1009d53d
mov esi, dword [edi + 4]
lea eax, [ebp - 0x1c]
push eax
call fcn.100b11d0
cmp esi, dword [eax + 4]
je 0x1009e9a1
mov eax, dword [0xb7cb84]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100b11d0
lea ecx, [ebx + 8]
push ecx
mov ecx, eax
call fcn.100b0df0
mov esi, dword [eax]
nop dword [eax]
movzx eax, byte [ebp - 0x1c]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0x1b]
xor ecx, eax
lea eax, [ebp - 0x1c]
imul edi, ecx, 0x1000193
push edi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100b50e0
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x1009d67d
cmp dword [0x10828d88], 0x5d1745d
je 0x1009e9b5
mov dword [ebp - 0xb4], 0x10828d84
mov dword [ebp - 4], eax
push 0x2c
mov dword [ebp - 0xb0], eax
call fcn.100eada9
mov cx, word [ebp - 0x1c]
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb0], eax
mov word [eax + 8], cx
lea ecx, [eax + 0xc]
call fcn.100b5690
mov dword [ebp - 4], 1
mov eax, dword [0x10828d88]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101b2b00]
mov eax, dword [0x10828d9c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101b2b00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x10828d80]
jbe 0x1009d65f
call fcn.100b3610
mov eax, dword [ebp - 0x2c]
push edi
add eax, 8
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.100b50e0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
jmp 0x1009d662
mov ecx, dword [ebp - 0x74]
push dword [ebp - 0x2c]
mov dword [ebp - 0xb0], 0
push ecx
push edi
call fcn.100b3670
mov dword [ebp - 4], 0xffffffff
lea edi, [eax + 0xc]
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
mov ecx, edi
imul eax, eax, 0x1000193
push eax
mov dword [ebp - 0x34], eax
lea eax, [ebx + 8]
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.1004ad90
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x1009d78e
cmp dword [edi + 8], 0xaaaaaaa
je 0x1009e9b5
lea eax, [edi + 4]
mov dword [ebp - 0x84], eax
mov dword [ebp - 4], 2
push 0x18
mov dword [ebp - 0x80], 0
call fcn.100eada9
mov cl, byte [ebx + 8]
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x80], eax
mov byte [eax + 8], cl
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [ebp - 4], 3
mov eax, dword [edi + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101b2b00]
mov eax, dword [edi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101b2b00]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [edi]
jbe 0x1009d76f
mov ecx, edi
call fcn.10099050
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov ecx, edi
add eax, 8
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.1004ad90
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], eax
jmp 0x1009d772
mov ecx, dword [ebp - 0x7c]
push dword [ebp - 0x2c]
mov dword [ebp - 0x80], 0
push ecx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.10039730
mov dword [ebp - 4], 0xffffffff
cmp esi, dword [eax + 0x10]
je 0x1009e9a1
mov al, byte [esi + 4]
mov edi, dword [esi]
mov byte [0x101ce6f4], al
mov byte [ebp - 0x30], al
mov byte [ebp - 0x8c], al
mov byte [ebp - 0x60], al
mov al, byte [esi + 5]
mov byte [0x101ce6f5], al
mov byte [ebp - 0x24], al
mov byte [ebp - 0x88], al
mov byte [ebp - 0x5c], al
mov al, byte [esi + 6]
mov byte [0x101ce6f7], al
mov cl, byte [esi + 0x14]
movss xmm0, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x94], al
mov byte [ebp - 0x54], al
mov al, byte [esi + 7]
mov dword [ebp - 0x38], eax
mov byte [0x101ce6f6], al
mov al, byte [esi + 8]
mov byte [0x10829c21], al
mov eax, dword [esi + 0x18]
mov dword [0x10830e78], eax
mov al, byte [esi + 0x1c]
mov byte [0x10830de8], al
movzx eax, byte [ebx + 8]
dec eax
mov dword [0x10829c44], edi
mov dword [0x10830e1c], edx
movss dword [0x10830e98], xmm0
mov byte [ebp - 0x20], cl
mov byte [0x10830e20], cl
cmp eax, 0xa
ja case.default.0x1009d82b
jmp dword [eax*4 + 0x1009e9c0]
mov cl, byte [0x1020d78f]
mov al, cl
push ecx
inc al
mov byte [0x1020d78f], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0
push eax
push dword [ebp - 0x94]
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
movss xmm0, dword [edx + 0x48]
movss xmm1, dword [edx + 0x44]
movss xmm2, dword [edx + 0x40]
movzx edi, word [ebp - 0x1c]
sub esp, 0xc
mov ecx, esp
mov eax, 0x420b10
sub esp, 0xc
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call eax
mov edx, dword [ebp - 0x3c]
mov ecx, edi
call fcn.1009c970
add esp, 0x28
movzx eax, byte [0x10829c21]
mov ecx, dword [0x10829c44]
mov edx, dword [ebp - 0x3c]
mov dword [esp], 0xbf800000
push eax
movzx eax, byte [0x101ce6f7]
push eax
movzx eax, byte [0x101ce6f5]
push eax
movzx eax, byte [0x101ce6f4]
push eax
push dword [0x10830e1c]
call fcn.1009cb70
add esp, 0x18
add esi, 0x20
jmp 0x1009d570
mov cl, byte [0x1029ff88]
mov al, cl
inc al
push ecx
mov byte [0x1029ff88], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0
push eax
mov eax, dword [ebp - 0x54]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
jmp 0x1009d864
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x42], 0
je 0x1009d960
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x43], 0
je 0x1009d944
cmp byte [0x10830e20], 0
jne case.default.0x1009d82b
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x44], 0
je 0x1009d960
cmp byte [0x10830e20], 0
je case.default.0x1009d82b
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0xf8c], 0
je 0x1009d9a8
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov al, byte [eax + 0x2f]
mov byte [0x101ce6f4], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov al, byte [eax + 0x30]
mov byte [0x101ce6f5], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov dl, byte [eax + 0x31]
mov byte [0x101ce6f7], dl
jmp 0x1009d9ae
mov dl, byte [0x101ce6f7]
mov cl, byte [0x1029ff8d]
movss xmm0, dword [0x10830e98]
mov al, cl
inc al
push ecx
mov byte [0x1029ff8d], al
movzx eax, word [0x10829c44]
push eax
movzx eax, byte [0x101ce6f6]
push ecx
movss dword [esp], xmm0
push 0x30
push eax
movzx eax, dl
push eax
movzx eax, byte [0x101ce6f5]
push eax
movzx eax, byte [0x101ce6f4]
push eax
mov eax, dword [0x10830e1c]
movss xmm0, dword [eax + 0x48]
movss xmm1, dword [eax + 0x44]
movss xmm2, dword [eax + 0x40]
jmp 0x1009d873
mov cx, word [ebp - 0x1c]
movzx eax, cx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x6c], al
test cx, cx
je 0x1009da82
lea eax, [ebp - 0x34]
push eax
call fcn.100b1040
mov al, byte [eax + 0x2c]
mov byte [0x101ce6f4], al
lea eax, [ebp - 0x34]
push eax
call fcn.100b1040
mov al, byte [eax + 0x2d]
mov byte [0x101ce6f5], al
lea eax, [ebp - 0x34]
push eax
call fcn.100b1040
mov edi, dword [0x10829c44]
mov edx, dword [0x10830e1c]
movss xmm0, dword [0x10830e98]
mov al, byte [eax + 0x2e]
mov byte [0x101ce6f7], al
mov byte [ebp - 0x6c], al
mov al, byte [0x101ce6f4]
mov byte [ebp - 0x30], al
mov al, byte [0x101ce6f5]
mov byte [ebp - 0x24], al
mov al, byte [0x101ce6f6]
mov dword [ebp - 0x38], eax
mov cl, byte [0x1029ff8b]
mov al, cl
inc al
push ecx
mov byte [0x1029ff8b], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0x1f0
movzx eax, al
push eax
push dword [ebp - 0x6c]
movzx eax, byte [ebp - 0x24]
push eax
movzx eax, byte [ebp - 0x30]
push eax
jmp 0x1009d864
xor eax, eax
mov byte [ebp - 0x58], 1
test cl, cl
setne al
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x40], 0
je 0x1009db12
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x43], 0
je 0x1009daf2
cmp byte [ebp - 0x20], 0
je 0x1009daf2
mov byte [ebp - 0x58], 0
jmp 0x1009db12
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x44], 0
je 0x1009db12
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp byte [ebp - 0x20], cl
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x3c]
mov eax, 0x6c2130
mov edi, dword [ebp - 0x2c]
add ecx, 0x5a0
push edi
call eax
test eax, eax
jne case.default.0x1009d82b
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + edi + 0x45], 0
je 0x1009db52
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + edi + 0x49], 0
je case.default.0x1009d82b
cmp byte [ebp - 0x58], 0
je case.default.0x1009d82b
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov al, byte [eax + 0x2f]
mov byte [0x101ce6f4], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov al, byte [eax + 0x30]
mov byte [0x101ce6f5], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov cl, byte [0x1020d78d]
movss xmm0, dword [0x10830e98]
push ecx
mov al, byte [eax + 0x31]
mov dl, al
mov byte [0x101ce6f7], al
mov al, cl
inc al
mov byte [0x1020d78d], al
movzx eax, word [0x10829c44]
push eax
movzx eax, byte [0x101ce6f6]
push ecx
movss dword [esp], xmm0
push 0x2b0
push eax
push edx
jmp 0x1009d9e2
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x44], 0
je 0x1009dbe2
cmp byte [0x10830e20], 0
je 0x1009dc02
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
cmp byte [eax + 0x43], 0
je case.default.0x1009d82b
cmp byte [0x10830e20], 0
je case.default.0x1009d82b
mov al, byte [0x10830de8]
test al, al
je 0x1009dc68
mov byte [ebp - 0x90], al
mov al, byte [0x10830e78]
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
push dword [ebp - 0x90]
mov dl, byte [ebp - 0x20]
mov ecx, dword [eax + 0xf88]
call fcn.1009d0f0
xor edx, edx
add esp, 4
cmp byte [0x10830e20], dl
mov ecx, 0x64
cmove edx, ecx
mov ecx, dword [0x10830e78]
lea ecx, [ecx + ecx*4]
add ecx, 0xa
lea edx, [edx + ecx*2]
mov dword [0x10830e78], edx
test al, al
je case.default.0x1009d82b
jmp 0x1009dc9f
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov edi, dword [ebp - 0x64]
cmp edi, dword [eax + 0xf88]
jb 0x1009dc99
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov eax, dword [eax + 0xf88]
add eax, dword [0x101ef594]
cmp edi, eax
jb case.default.0x1009d82b
mov edx, dword [0x10830e78]
movss xmm0, dword [0x10830e98]
movzx edi, word [ebp - 0x1c]
test edx, edx
jne 0x1009dcd4
mov cl, byte [0x1029ff8a]
mov al, cl
inc al
push ecx
mov byte [0x1029ff8a], al
movzx eax, word [0x10829c44]
push eax
push ecx
movss dword [esp], xmm0
push 0xb0
jmp 0x1009dcf9
mov cl, byte [0x1029ff8f]
mov al, cl
inc al
add edx, 0xb0
push ecx
mov byte [0x1029ff8f], al
movzx eax, word [0x10829c44]
push eax
push ecx
movss dword [esp], xmm0
push edx
movzx eax, byte [0x101ce6f6]
push eax
movzx eax, byte [0x101ce6f7]
push eax
movzx eax, byte [0x101ce6f5]
push eax
movzx eax, byte [0x101ce6f4]
push eax
mov eax, dword [0x10830e1c]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movss xmm0, dword [eax + 0x48]
movss xmm1, dword [eax + 0x44]
movss xmm2, dword [eax + 0x40]
mov eax, 0x420b10
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call eax
mov edx, dword [ebp - 0x3c]
mov ecx, edi
call fcn.1009c970
add esp, 0x2c
push ecx
jmp 0x1009d8a4
mov cl, byte [0x1020d78e]
mov al, cl
inc al
push ecx
mov byte [0x1020d78e], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0x1b0
push eax
mov eax, dword [ebp - 0x54]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
jmp 0x1009d864
mov cl, byte [0x1029ff8e]
mov al, cl
inc al
push ecx
mov byte [0x1029ff8e], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0x230
push eax
mov eax, dword [ebp - 0x54]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
jmp 0x1009d864
mov cl, byte [0x1029ff8c]
mov al, cl
inc al
push ecx
mov byte [0x1029ff8c], al
movzx eax, di
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm0
push 0x270
push eax
mov eax, dword [ebp - 0x54]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
jmp 0x1009d864
mov edi, dword [ebp - 0x3c]
movzx eax, word [edi + 0x22]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov al, byte [eax + 0x89]
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov cl, byte [eax + 0x8a]
movzx eax, byte [ebp - 0x20]
test cl, cl
movzx edx, cl
cmove edx, eax
mov al, byte [0x10830e78]
mov byte [ebp - 0x20], al
mov byte [ebp - 0x30], al
mov dword [ebp - 0x40], edx
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x38]
movzx eax, dx
mov dword [ebp - 0x34], eax
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dx
shr eax, 8
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.1009a070
mov ecx, dword [0x10828ce4]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x10828ce4]
je case.default.0x1009d82b
lea eax, [ebp - 0x34]
push eax
call fcn.10097cf0
movzx ecx, byte [ebp - 0x24]
xor ecx, 0x811c9dc5
mov dword [ebp - 0x28], eax
imul ecx, ecx, 0x1000193
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0xdc]
push ecx
mov ecx, eax
call fcn.1004ad90
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x1009ded0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.10097cf0
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + 4]
je case.default.0x1009d82b
lea eax, [ebp - 0x34]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0xe4]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
movzx eax, byte [ebp - 0x20]
add ecx, 0xc
xor eax, 0x811c9dc5
mov dword [ebp - 0x28], ecx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.1004ad90
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x1009df3b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax]
cmp ecx, dword [eax + 0x10]
je case.default.0x1009d82b
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov ecx, dword [0x10830e78]
mov byte [ebp - 0x30], cl
mov al, byte [eax + ecx + 0x487]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x20], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x104]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0xa4]
comiss xmm0, dword [0x101b2660]
jb 0x1009e17e
mov al, byte [0x10830e78]
mov byte [ebp - 0x48], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x98]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x114]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
cmp word [eax + 0xac], 0
ja 0x1009e039
cmp byte [ebx + 0xc], 0
je 0x1009e17e
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov ecx, dword [0x10830e78]
mov edx, dword [ebp - 0x64]
cmp edx, dword [eax + ecx*4 + 0xa80]
jae 0x1009e05e
cmp byte [ebx + 0xc], 0
je 0x1009e17e
lea eax, [ebp - 0x1c]
push eax
call fcn.100b1040
mov ecx, dword [0x10830e78]
mov byte [ebp - 0x14], cl
movss xmm2, dword [eax + ecx*4 + 0x684]
mov eax, dword [ebp - 0x40]
mulss xmm2, dword [0x101b29a0]
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
movss dword [ebp - 0x34], xmm2
call fcn.10097cf0
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x124]
add ecx, 0xc
push eax
call fcn.10098790
cmp byte [ebx + 0xc], 0
movss xmm1, dword [ebp - 0x34]
mov eax, dword [eax]
addss xmm1, dword [eax + 0xa4]
movss dword [ebp - 0x34], xmm1
je 0x1009e0e4
xorps xmm1, xmm1
jmp 0x1009e103
movss xmm2, dword [0x101b2930]
comiss xmm1, xmm2
jb 0x1009e0f7
subss xmm1, xmm2
jmp 0x1009e103
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1009e108
addss xmm1, xmm2
movss dword [ebp - 0x34], xmm1
divss xmm1, dword [0x101b289c]
sub esp, 0xc
lea ecx, [ebp - 0x234]
mov eax, 0x59c530
mov dword [esp + 8], 0
movss dword [esp + 4], xmm1
mov dword [esp], 0
call eax
mov eax, dword [0x10830e1c]
lea ecx, [ebp - 0x234]
add eax, 0x10
push eax
mov eax, 0x59c080
call eax
mov eax, dword [0x10830e1c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [eax + 0x98]
test ecx, ecx
je 0x1009e186
movq xmm0, qword [eax + 0x40]
sub esp, 0xc
mov eax, dword [eax + 0x48]
mov edx, esp
movss xmm2, dword [ebp - 0x34]
movq qword [edx], xmm0
mov dword [edx + 8], eax
call fcn.1009d370
add esp, 0xc
mov eax, dword [0x10830e1c]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 0x18], 0
je case.default.0x1009d82b
cmp byte [ebx + 0xc], 0
jne case.default.0x1009d82b
movss xmm0, dword [eax + 0x14]
sub esp, 8
movss xmm1, dword [eax + 0x10]
mov eax, 0x53cc70
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call eax
fmul dword [0x101b289c]
xorps xmm1, xmm1
add esp, 8
fsub dword [0x101b28f8]
fstp dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x34]
comiss xmm1, xmm0
jbe 0x1009e1f1
movsd xmm2, qword [0x101b2810]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
ja 0x1009e1e0
mov eax, dword [ebp - 0x2c]
movss xmm3, dword [0x101b28f8]
subss xmm0, xmm3
movss xmm2, dword [eax + 0x38]
comiss xmm1, xmm2
jb 0x1009e223
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1009e223
movaps xmm0, xmm2
mulss xmm0, xmm3
comiss xmm0, xmm1
jbe 0x1009e223
subss xmm0, xmm3
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
movss dword [0x10830e98], xmm0
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x134]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0x14]
comiss xmm0, dword [0x101b2660]
jbe 0x1009e781
mov eax, dword [edi + 0x14]
lea ecx, [edi + 4]
movss xmm0, dword [0x1020d5f8]
test eax, eax
lea edx, [eax + 0x30]
mov eax, 0x420b10
cmove edx, ecx
sub esp, 0xc
lea ecx, [ebp - 0xcc]
subss xmm0, dword [edx + 8]
movss dword [esp + 8], xmm0
movss xmm0, dword [0x1020d5f4]
subss xmm0, dword [edx + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x1020d5f0]
subss xmm0, dword [edx]
movss dword [esp], xmm0
call eax
lea ecx, [ebp - 0xcc]
mov eax, 0x4082c0
call eax
movd xmm0, dword [0x101ef5c4]
cvtdq2ps xmm0, xmm0
fstp dword [ebp - 0x28]
comiss xmm0, dword [ebp - 0x28]
jb 0x1009e781
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x144]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movzx eax, byte [eax + 0x11]
mov ecx, eax
mov dword [ebp - 0x2c], ecx
cmp eax, 2
jbe 0x1009e37f
lea eax, [ecx - 3]
xor dx, dx
mov ecx, 3
div cx
mov cx, ax
add ax, ax
add cx, ax
mov eax, 0xfffffffd
sub ax, cx
mov cx, word [ebp - 0x2c]
add cx, ax
jmp 0x1009e383
mov cx, word [ebp - 0x2c]
cmp cx, 1
jne 0x1009e43f
movss xmm0, dword [0x10830e98]
addss xmm0, dword [0x101b28f8]
movss dword [0x10830e98], xmm0
mov ecx, edi
mov eax, 0x441db0
call eax
mov al, byte [0x10830e78]
movss xmm0, dword [0x10830e98]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
fstp dword [ebp - 0x2c]
movss dword [ebp - 0x34], xmm0
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x164]
add ecx, 0xc
push eax
call fcn.10098790
movss xmm0, dword [ebp - 0x2c]
movss xmm1, dword [0x101b28f8]
mulss xmm0, xmm1
mov eax, dword [eax]
movss xmm2, dword [0x101b29ec]
divss xmm0, dword [0x101b2804]
mov cl, byte [eax + 0x10]
addss xmm0, dword [ebp - 0x34]
comiss xmm2, xmm0
jbe 0x1009e49a
addss xmm0, dword [0x101b2930]
jmp 0x1009e4a7
cmp cx, 2
jne 0x1009e3a5
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x14c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x154]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
mov cl, byte [eax + 0x10]
jmp 0x1009e524
comiss xmm0, xmm1
jbe 0x1009e4a7
subss xmm0, dword [0x101b2930]
movss xmm1, dword [0x10828da4]
comiss xmm1, xmm0
jbe 0x1009e4ba
subss xmm1, xmm0
jmp 0x1009e4c1
subss xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [0x101b28bc]
comiss xmm0, xmm1
ja 0x1009e522
movss xmm3, dword [0x101b2918]
comiss xmm1, xmm3
ja 0x1009e522
movss xmm4, dword [0x101b28e0]
comiss xmm4, xmm1
movzx eax, cl
movd xmm2, eax
cvtdq2ps xmm2, xmm2
divss xmm2, dword [0x101b28a4]
jb 0x1009e508
subss xmm1, xmm0
mulss xmm1, xmm2
cvttss2si ecx, xmm1
jmp 0x1009e524
comiss xmm1, dword [0x101b2900]
jb 0x1009e524
movaps xmm0, xmm3
subss xmm0, xmm1
mulss xmm0, xmm2
cvttss2si ecx, xmm0
jmp 0x1009e524
xor cl, cl
mov byte [ebp - 0x68], cl
test cl, cl
je 0x1009e781
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x174]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0x1c]
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
movss dword [ebp - 0x2c], xmm0
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x17c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x184]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0x14]
mov eax, dword [0x10830e1c]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [eax + 0x40]
movss dword [ebp - 0xc0], xmm0
movss xmm0, dword [eax + 0x44]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [eax + 0x48]
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
movss dword [ebp - 0xb8], xmm0
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x18c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x194]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
mov al, byte [eax + 0xf]
mov byte [ebp - 0x9c], al
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x19c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1a4]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
mov al, byte [eax + 0xe]
mov byte [ebp - 0xa0], al
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1ac]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1b4]
add ecx, 0xc
push eax
call fcn.10098790
movss xmm0, dword [ebp - 0x2c]
push 1
push 0
push ecx
movss dword [esp], xmm0
push 0
push ecx
mov dword [esp], 0x3f000000
movss xmm0, dword [ebp - 0x34]
push 0
push ecx
mov dword [esp], 0
lea ecx, [ebp - 0xc0]
mov eax, dword [eax]
push 0
push 0
push 0
movzx eax, byte [eax + 0xd]
push 0
push 1
sub esp, 8
mov dword [esp + 4], 0x42c80000
movss dword [esp], xmm0
push ecx
push dword [ebp - 0x68]
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push eax
mov ecx, dword [0x10830e78]
push edi
movzx eax, byte [ecx + 0x10828daf]
add ecx, 0x329
imul eax, eax, 0xff
add eax, ecx
add eax, edi
push eax
mov eax, 0x6fc580
call eax
mov eax, dword [0x10830e78]
add esp, 0x54
inc byte [eax + 0x10828daf]
jmp 0x1009e786
mov eax, dword [0x10830e78]
mov edi, dword [ebp - 0x38]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1bc]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c4]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0x18]
comiss xmm0, dword [0x101b2660]
jbe case.default.0x1009d82b
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1cc]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1d4]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
movss xmm0, dword [eax + 0x18]
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
movss dword [ebp - 0x2c], xmm0
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1dc]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1e4]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
mov al, byte [eax + 0xf]
mov dword [ebp - 0x34], eax
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1f4]
add ecx, 0xc
push eax
call fcn.10098790
mov eax, dword [eax]
mov al, byte [eax + 0xe]
mov dword [ebp - 0xa8], eax
mov al, byte [0x10830e78]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x18], al
movzx eax, di
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1fc]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x204]
add ecx, 0xc
push eax
call fcn.10098790
mov edi, dword [0x10830e1c]
mov eax, dword [eax]
add eax, 0xd
mov al, byte [eax]
mov dword [ebp - 0xac], eax
mov al, byte [0x10830e78]
mov byte [ebp - 0x50], al
mov eax, dword [ebp - 0x40]
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 0x38]
movzx eax, ax
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10097cf0
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, eax
call fcn.100989a0
mov ecx, dword [eax]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x214]
add ecx, 0xc
push eax
call fcn.10098790
movss xmm0, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
push ecx
mov eax, dword [eax]
movss dword [esp], xmm0
push 0
push dword [ebp - 0x34]
movzx ecx, byte [eax + 0x11]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push edi
call fcn.1009cb70
add esp, 0x18
add esi, 0x20
jmp 0x1009d570
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.unordered_map_set_too_long
call fcn.100d567f
nop
xor bl, al
or dword [eax], edx
ljmp 0x9d9