Function at 0x100d96a9
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 0x1010a91d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
mov eax, dword [0x101210c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
test eax, eax
je 0x100da2e0
cmp dword [0x10140e2c], 0
je 0x100da2e0
mov edi, dword [eax + 8]
mov eax, dword [0x101cf750]
test al, 1
jne 0x100d9601
or eax, 1
mov dword [0x101cf750], eax
mov edx, 0x990704d7
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.100524a0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x101cf754
call fcn.100528d0
add esp, 4
push 0x1010c580
call fcn.101011f6
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x101cf754]
call eax
mov esi, eax
mov dword [ebp - 0x78], esi
test edi, edi
je 0x100d9680
test esi, esi
je 0x100d9680
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x100d9680
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100d9669
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x100d9640
xor edx, edx
test ecx, ecx
je 0x100d9669
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100d9650
cmp edi, 0xfd0c5087
je 0x100d967b
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x100d9680
mov esi, dword [ebp - 0x78]
jmp 0x100d9620
mov ecx, dword [ebp - 0x50]
jmp 0x100d9682
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100d968c.4
jmp dword [eax*4 + 0x100da300]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x50]
add esp, 4
jmp 0x100d96e6
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x50]
add esp, 4
jmp 0x100d96e6
movss xmm0, dword [ecx + 0xc]
jmp 0x100d96e6
movd xmm0, dword [ecx + 0xc]
cvtdq2ps xmm0, xmm0
jmp 0x100d96e6
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101022b0
cvtsd2ss xmm0, xmm0
jmp 0x100d96e6
xorps xmm0, xmm0
mov edi, dword [ebp - 0x68]
mov eax, dword [0x101cf750]
movss dword [ebp - 0x84], xmm0
mov edi, dword [edi + 8]
test al, 1
jne 0x100d9741
or eax, 1
mov dword [0x101cf750], eax
mov edx, 0x990704d7
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.100524a0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x101cf754
call fcn.100528d0
add esp, 4
push 0x1010c580
call fcn.101011f6
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x101cf754]
call eax
mov esi, eax
mov dword [ebp - 0x78], esi
test edi, edi
je 0x100d97c0
test esi, esi
je 0x100d97c0
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x100d97c0
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100d97a9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x100d9780
xor edx, edx
test ecx, ecx
je 0x100d97a9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100d9790
cmp edi, 0xfc0c4ef4
je 0x100d97bb
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x50], ecx
test ecx, ecx
je 0x100d97c0
mov esi, dword [ebp - 0x78]
jmp 0x100d9760
mov ecx, dword [ebp - 0x50]
jmp 0x100d97c2
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100d97cc.4
jmp dword [eax*4 + 0x100da31c]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x50]
add esp, 4
jmp 0x100d9826
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x50]
add esp, 4
jmp 0x100d9826
movss xmm0, dword [ecx + 0xc]
jmp 0x100d9826
movd xmm0, dword [ecx + 0xc]
cvtdq2ps xmm0, xmm0
jmp 0x100d9826
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101022b0
cvtsd2ss xmm0, xmm0
jmp 0x100d9826
xorps xmm0, xmm0
mov eax, dword [ebp - 0x68]
movss dword [ebp - 0x50], xmm0
mov edi, dword [eax + 8]
mov eax, dword [0x101cf750]
test al, 1
jne 0x100d987e
or eax, 1
mov dword [0x101cf750], eax
mov edx, 0x990704d7
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.100524a0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x101cf754
call fcn.100528d0
add esp, 4
push 0x1010c580
call fcn.101011f6
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x101cf754]
call eax
mov esi, eax
mov dword [ebp - 0x5c], esi
test edi, edi
je 0x100d9900
test esi, esi
je 0x100d9900
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x100d9900
nop dword [eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100d98e9
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x100d98c0
xor edx, edx
test ecx, ecx
je 0x100d98e9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100d98d0
cmp edi, 0xff0c53ad
je 0x100d98fb
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x100d9900
mov esi, dword [ebp - 0x5c]
jmp 0x100d98a0
mov ecx, dword [ebp - 0x78]
jmp 0x100d9902
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100d990c.4
jmp dword [eax*4 + 0x100da338]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
fstp dword [ebp - 0x78]
movss xmm0, dword [ebp - 0x78]
add esp, 4
jmp 0x100d9966
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtof]
fstp dword [ebp - 0x78]
movss xmm0, dword [ebp - 0x78]
add esp, 4
jmp 0x100d9966
movss xmm0, dword [ecx + 0xc]
jmp 0x100d9966
movd xmm0, dword [ecx + 0xc]
cvtdq2ps xmm0, xmm0
jmp 0x100d9966
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101022b0
cvtsd2ss xmm0, xmm0
jmp 0x100d9966
xorps xmm0, xmm0
mov eax, dword [ebp - 0x68]
movss xmm1, dword [ebp - 0x84]
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [ebp - 0x50]
mov edi, dword [eax + 8]
mov eax, dword [0x101cf750]
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x18], xmm0
test al, 1
jne 0x100d99d5
or eax, 1
mov dword [0x101cf750], eax
mov edx, 0x990704d7
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.100524a0
push 0xda7d68cb
mov edx, eax
mov ecx, 0x101cf754
call fcn.100528d0
add esp, 4
push 0x1010c580
call fcn.101011f6
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x101cf754]
call eax
mov esi, eax
mov dword [ebp - 0x5c], esi
test edi, edi
je 0x100d9a50
test esi, esi
je 0x100d9a50
mov ecx, dword [edi + 0x18]
mov dword [ebp - 0x68], ecx
test ecx, ecx
je 0x100d9a50
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx]
mov ecx, esi
and eax, 0xffffff
push eax
call edx
mov esi, eax
test esi, esi
je 0x100d9a39
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100d9a11
xor edx, edx
test ecx, ecx
je 0x100d9a39
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100d9a20
cmp edi, 0x11ab48ff
je 0x100d9a4b
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x68], ecx
test ecx, ecx
je 0x100d9a50
mov esi, dword [ebp - 0x5c]
jmp 0x100d99f3
mov ecx, dword [ebp - 0x68]
jmp 0x100d9a52
xor ecx, ecx
movsx eax, byte [ecx + 0x10]
dec eax
cmp eax, 6
ja case.0x100d9a60.2
jmp dword [eax*4 + 0x100da354]
push dword [ecx + 4]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edx, eax
jmp 0x100d9ae3
push dword [ecx + 8]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
mov edx, eax
jmp 0x100d9ae3
movss xmm3, dword [ecx + 0xc]
movss xmm4, dword [0x101150dc]
movaps xmm0, xmm3
movss xmm2, dword [0x101150d4]
andps xmm4, xmm3
xorps xmm0, xmm4
movaps xmm1, xmm3
cmpltss xmm0, xmm2
andps xmm2, xmm0
orps xmm2, xmm4
addss xmm1, xmm2
subss xmm1, xmm2
movss xmm2, dword [0x10114e70]
movaps xmm0, xmm1
subss xmm0, xmm3
cmpnless xmm0, xmm4
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si edx, xmm1
jmp 0x100d9ae3
xor edx, edx
jmp 0x100d9ae3
mov edx, dword [ecx + 0xc]
mov ecx, dword [0x101cc804]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, eax
test esi, esi
je 0x100da2e0
mov ecx, dword [0x101cc804]
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
cmp esi, eax
je 0x100d9d66
mov ecx, dword [0x101cc808]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x100da2e0
push 1
push dword [0x1014ce14]
push dword [0x1014ce10]
call fcn.10100b00
cmp eax, dword [0x1014ce14]
je 0x100da2e0
mov ecx, dword [0x101cca28]
mov eax, dword [0x101ccae8]
add ecx, 0xffffffdb
xor ecx, 0x59107254
add eax, 0xffffffab
xor eax, 0x59107284
movss xmm0, dword [ecx + edi]
addss xmm0, dword [eax + edi]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ecx + edi + 4]
addss xmm0, dword [eax + edi + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ecx + edi + 8]
addss xmm0, dword [eax + edi + 8]
mov eax, dword [0x101cc9a4]
mov edi, dword [eax + edi]
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0x50], xmm0
test edi, edi
je 0x100d9cdc
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x100d9cdc
cmp byte [edi + 0x109], 0
xorps xmm4, xmm4
jne 0x100d9c0d
mov eax, dword [0x101cca98]
add eax, 0xffffffbf
xor eax, 0x59107270
movss xmm0, dword [eax + ecx]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x100d9c08
mov eax, dword [0x101ccb0c]
add eax, 0xffffffa2
xor eax, 0x5910728d
mov eax, dword [eax + ecx]
mov ecx, dword [0x101cc808]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
jne 0x100d9cdc
xorps xmm4, xmm4
movss xmm0, dword [ebp - 0x68]
mov ecx, dword [0x101ccb00]
mov eax, dword [edi + 0x60]
add ecx, 0xffffffa5
xor ecx, 0x5910728a
mov eax, dword [ecx + eax]
test eax, eax
je 0x100d9cdc
movss xmm2, dword [eax + 0x1ac]
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm0
addsd xmm2, qword [str.333333]
movsd qword [ebp - 0x80], xmm3
comisd xmm3, xmm2
movsd qword [ebp - 0x70], xmm2
jbe 0x100d9cdc
movaps xmm0, xmm3
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x10114f78]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10114ec8]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm4
jb 0x100d9ca6
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fminf]
movsd xmm2, qword [ebp - 0x70]
add esp, 8
movsd xmm3, qword [ebp - 0x80]
fstp dword [ebp - 0x5c]
movss xmm4, dword [ebp - 0x5c]
movaps xmm1, xmm4
subsd xmm2, xmm3
mulss xmm1, xmm4
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x10114f5c]
mulss xmm1, xmm4
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x50], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x101cca90]
movq xmm0, qword [ebp - 0x20]
add ecx, 0xffffffc1
mov dword [ebp - 0x3c], eax
xor ecx, 0x5910726e
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x30], eax
mov eax, dword [0x10140e2c]
movq qword [ebp - 0x44], xmm0
movq xmm0, qword [ebp - 0x58]
movq qword [ebp - 0x38], xmm0
mov eax, dword [ecx + eax]
mov ecx, dword [0x101cd520]
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x437f0000
cmp ecx, dword [0x101cd524]
je 0x100d9d52
movups xmm0, xmmword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x34]
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], eax
add dword [0x101cd520], 0x24
jmp 0x100da2e0
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, 0x101cd51c
call fcn.100db900
jmp 0x100da2e0
cmp byte [0x101554e4], 0
je 0x100d9dde
mov ecx, dword [0x101cc844]
lea edx, [ebp - 0x2c]
push ecx
mov dword [esp], 0x40400000
push 0x7f
push 0xff
push 0
push 0
push edx
lea edx, [ebp - 0x70]
mov dword [ebp - 0x2c], 0
push edx
mov dword [ebp - 0x28], 0
lea edx, [ebp - 0x80]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x70], 0x40000000
mov dword [ebp - 0x6c], 0x40000000
mov dword [ebp - 0x68], 0x40000000
mov dword [ebp - 0x80], 0xc0000000
mov dword [ebp - 0x7c], 0xc0000000
mov dword [ebp - 0x78], 0xc0000000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [eax + 4]
call eax
movss xmm0, dword [ebp - 0x20]
mov eax, dword [0x101cc864]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [eax + 0x10]
mov eax, dword [0x10157f48]
movss dword [ebp - 0x24], xmm0
cmp eax, dword [0x10157f4c]
je 0x100d9e28
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax], xmm0
add dword [0x10157f48], 0x10
jmp 0x100d9e37
lea ecx, [ebp - 0x30]
push ecx
push eax
mov ecx, 0x10157f44
call fcn.10059640
mov ecx, dword [0x101cca90]
mov eax, dword [0x10140e2c]
add ecx, 0xffffffc1
xor ecx, 0x5910726e
push 0
push dword [0x1014ce14]
movd xmm0, dword [ecx + eax]
mov eax, dword [0x101cc864]
push dword [0x1014ce10]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x78], xmm0
call fcn.10100b00
cmp eax, dword [0x1014ce14]
je 0x100da0bf
mov edx, dword [0x10140e2c]
mov ecx, dword [0x101cca28]
mov eax, dword [0x101ccae8]
add ecx, 0xffffffdb
xor ecx, 0x59107254
add eax, 0xffffffab
xor eax, 0x59107284
movss xmm0, dword [ecx + edx]
addss xmm0, dword [eax + edx]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ecx + edx + 4]
addss xmm0, dword [eax + edx + 4]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ecx + edx + 8]
addss xmm0, dword [eax + edx + 8]
mov eax, dword [0x101cc9a4]
mov edi, dword [eax + edx]
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0x24], xmm0
test edi, edi
je 0x100da01c
mov ecx, dword [edi + 0x60]
test ecx, ecx
je 0x100da01c
cmp byte [edi + 0x109], 0
xorps xmm4, xmm4
jne 0x100d9f4d
mov eax, dword [0x101cca98]
add eax, 0xffffffbf
xor eax, 0x59107270
movss xmm0, dword [eax + ecx]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x100d9f48
mov eax, dword [0x101ccb0c]
add eax, 0xffffffa2
xor eax, 0x5910728d
mov eax, dword [eax + ecx]
mov ecx, dword [0x101cc808]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
test eax, eax
jne 0x100da01c
xorps xmm4, xmm4
movss xmm0, dword [ebp - 0x68]
mov ecx, dword [0x101ccb00]
mov eax, dword [edi + 0x60]
add ecx, 0xffffffa5
xor ecx, 0x5910728a
mov eax, dword [ecx + eax]
test eax, eax
je 0x100da01c
movss xmm2, dword [eax + 0x1ac]
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm0
addsd xmm2, qword [str.333333]
movsd qword [ebp - 0x58], xmm3
comisd xmm3, xmm2
movsd qword [ebp - 0x70], xmm2
jbe 0x100da01c
movaps xmm0, xmm3
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x10114f78]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10114ec8]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm4
jb 0x100d9fe6
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fminf]
movsd xmm2, qword [ebp - 0x70]
add esp, 8
movsd xmm3, qword [ebp - 0x58]
fstp dword [ebp - 0x5c]
movss xmm4, dword [ebp - 0x5c]
movaps xmm1, xmm4
subsd xmm2, xmm3
mulss xmm1, xmm4
movaps xmm0, xmm1
addss xmm1, xmm1
mulss xmm0, dword [0x10114f5c]
mulss xmm1, xmm4
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x101cca90]
movq xmm0, qword [ebp - 0x20]
add ecx, 0xffffffc1
mov dword [ebp - 0xa0], eax
xor ecx, 0x5910726e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x94], eax
mov eax, dword [0x10140e2c]
movq qword [ebp - 0xa8], xmm0
movq xmm0, qword [ebp - 0x2c]
movq qword [ebp - 0x9c], xmm0
mov eax, dword [ecx + eax]
mov ecx, dword [0x101cd520]
mov dword [ebp - 0x90], eax
mov word [ebp - 0x8c], 0x100
mov dword [ebp - 0x88], 0x437f0000
cmp ecx, dword [0x101cd524]
je 0x100da0ad
movups xmm0, xmmword [ebp - 0xa8]
mov eax, dword [ebp - 0x88]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], eax
add dword [0x101cd520], 0x24
jmp 0x100da0bf
lea eax, [ebp - 0xa8]
push eax
push ecx
mov ecx, 0x101cd51c
call fcn.100db900
mov eax, dword [0x101cd518]
test eax, eax
je 0x100da2e0
mov ecx, dword [0x101cd514]
xor esi, esi
movss xmm2, dword [0x101150d8]
lea edx, [eax + ecx]
cmp ecx, edx
je 0x100da2e0
mov eax, dword [0x101cd510]
mov edi, dword [0x101cd50c]
dec eax
movss xmm3, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
nop dword [eax + eax]
and eax, ecx
mov eax, dword [edi + eax*4]
cmp byte [eax + 0x20], 0
jne 0x100da134
movss xmm1, dword [eax + 0xc]
movaps xmm0, xmm3
addss xmm1, dword [eax + 8]
subss xmm0, xmm1
call fcn.1002bd50
comiss xmm0, dword [0x10114e70]
ja 0x100da134
comiss xmm2, xmm0
jbe 0x100da134
movaps xmm2, xmm0
mov esi, eax
mov eax, dword [ebp - 0x5c]
inc ecx
cmp ecx, edx
jne 0x100da100
test esi, esi
je 0x100da2e0
push 0
mov byte [esi + 0x20], 1
push dword [0x10144b64]
push dword [0x10144b60]
call fcn.10100b00
cmp eax, dword [0x10144b64]
je 0x100da1ec
mov edx, dword [0x101cca40]
mov eax, dword [esi]
add edx, 0xffffffd5
xor edx, 0x5910725a
mov ecx, dword [edx + eax]
mov eax, dword [0x10140e2c]
cmp ecx, dword [edx + eax]
jne 0x100da19b
mov ecx, dword [0x101cc8dc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
mov eax, dword [0x101486b4]
je 0x100da1a0
mov eax, dword [0x10148618]
mov ecx, dword [esi]
add ecx, 8
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x78], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [esi]
mov byte [ebp - 0x50], al
add ecx, 8
mov al, byte [ebp - 0x77]
mov byte [ebp - 0x4f], al
mov al, byte [ebp - 0x76]
mov byte [ebp - 0x4e], al
mov eax, dword [ecx]
mov byte [ebp - 0x4d], 0
mov eax, dword [eax + 0x28]
call eax
push dword [ebp - 0x50]
imul eax, eax, 0x1840
push ecx
add eax, 0x10167a50
push eax
push dword [esi + 4]
call fcn.100fcf60
mov ecx, dword [0x101cca90]
mov eax, dword [0x10140e2c]
add ecx, 0xffffffc1
movss xmm0, dword [ebp - 0x20]
xor ecx, 0x5910726e
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x2c], xmm0
mov eax, dword [ecx + eax]
movss xmm0, dword [ebp - 0x18]
mov ecx, dword [0x101cd530]
mov dword [ebp - 0x34], eax
mov eax, dword [0x101cd538]
inc eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x38], esi
movss dword [ebp - 0x28], xmm0
cmp ecx, eax
ja 0x100da24f
push ecx
mov ecx, 0x101cd528
call fcn.100db490
mov ecx, dword [0x101cd530]
mov edx, dword [0x101cd52c]
lea esi, [ecx - 1]
and esi, dword [0x101cd534]
lea edi, [ecx - 1]
mov dword [0x101cd534], esi
cmove esi, ecx
dec esi
and edi, esi
cmp dword [edx + edi*4], 0
jne 0x100da292
push 0x18
call fcn.10100dac
mov ecx, dword [0x101cd52c]
add esp, 4
mov dword [ecx + edi*4], eax
mov ecx, dword [0x101cd530]
mov edx, dword [0x101cd52c]
movups xmm0, xmmword [ebp - 0x38]
lea eax, [ecx - 1]
and eax, esi
mov eax, dword [edx + eax*4]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x28]
movq qword [eax + 0x10], xmm0
mov eax, dword [0x101cd538]
inc eax
mov dword [0x101cd534], esi
mov dword [0x101cd538], eax
cmp eax, 0x80
jbe 0x100da2e0
add eax, 0xffffffff
mov dword [0x101cd538], eax
je 0x100da2d6
cmp eax, 0x80
ja 0x100da2c3
jmp 0x100da2e0
mov dword [0x101cd534], 0
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.10100d90
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4