Function at 0x100bdc30
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 0x1017517c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x3f8
push esi
mov esi, dword [ebx + 8]
push edi
xor edi, edi
mov dword [ebp - 0x18], edi
test byte [0x1029fa5c], 0x10
je 0x100bdca3
mov ecx, dword [esi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x64], eax
mov ecx, 0x1029ee44
lea eax, [ebp - 0x64]
push eax
call fcn.100b0380
mov eax, dword [eax]
cmp eax, dword [0x1029fa14]
jle 0x100bdca3
xor eax, eax
jmp 0x100bf249
lea ecx, [ebp - 0x408]
call fcn.100b4460
push 0
push 1
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0
push eax
push dword [esi]
call fcn.10138c10
mov ecx, dword [esi]
call fcn.100a7550
lea ecx, [esi + 8]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax]
mov dword [esi + 8], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0x10], eax
mov ecx, dword [esi]
call fcn.100a7670
mov ecx, dword [ebx + 8]
mov esi, eax
mov ecx, dword [ecx]
call fcn.100a7700
movss xmm2, dword [esi]
movss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 8]
subss xmm0, dword [eax + 4]
subss xmm2, dword [eax]
subss xmm1, dword [eax + 8]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1003cae0
movss dword [ebp - 0x34], xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
mov dword [ebp - 0x130], 0
push 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x138], 0
movups xmmword [ebp - 0x12c], xmm1
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0x42c80000
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x188], 0
call fcn.101706d6
lea ecx, [ebp - 0x198]
mov dword [eax + 4], 0
mov dword [ebp - 0x198], eax
mov dword [eax], ecx
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1d0]
mov dword [esp], 0xbf800000
push 0
push 0
push eax
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov esi, dword [ebx + 0xc]
push eax
push dword [ebx + 0x10]
push esi
call fcn.1013c250
test al, al
je 0x100bf1ed
push 0
lea eax, [ebp - 0x1d0]
push eax
call fcn.1013c5d0
test al, al
je 0x100bf1ed
movss xmm0, dword [ebp - 0x19c]
lea ecx, [ebp - 0x19c]
comiss xmm0, dword [0x1029f3e4]
mov eax, 0x1029f3e4
cmovbe eax, ecx
mov ecx, dword [0x10299498]
movss xmm0, dword [eax]
mov eax, dword [0x1029da70]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x10286cb0]
cvttss2si eax, xmm0
mov dword [ebp - 0x40], eax
test ecx, ecx
jne 0x100bdee8
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x24], xmm0
jmp 0x100bdf2a
mov dword [ebp - 0x44], 0
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0xcc]
movq xmm0, qword [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
movq qword [ebp - 0x24], xmm0
movss xmm2, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
movss xmm1, dword [ebp - 0x1c]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1003cae0
lea edx, [ebp - 0x144]
movss dword [ebp - 0x12c], xmm0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x144], 0
call fcn.100ab200
movss xmm0, dword [ebp - 0x144]
mov ecx, esi
movss dword [ebp - 0x11c], xmm0
call fcn.100a7550
mov ecx, dword [ebx + 0xc]
mov esi, eax
call fcn.100a7790
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi]
movss xmm3, dword [ebp - 0x1c8]
addss xmm1, dword [eax + 4]
addss xmm0, dword [eax]
movss xmm2, dword [esi + 8]
addss xmm2, dword [eax + 8]
movss xmm4, dword [ebp - 0x1cc]
subss xmm3, xmm1
movss xmm1, dword [ebp - 0x1c4]
subss xmm4, xmm0
subss xmm1, xmm2
mulss xmm3, dword [0x10286fdc]
movss dword [ebp - 0x138], xmm4
mulss xmm4, xmm4
movss dword [ebp - 0x134], xmm3
mulss xmm3, xmm3
movss dword [ebp - 0x130], xmm1
mulss xmm1, xmm1
addss xmm4, xmm3
addss xmm4, xmm1
movaps xmm0, xmm4
call fcn.1003cae0
divss xmm0, dword [ebp - 0x12c]
mov esi, dword [ebx + 0xc]
mov edx, esi
mov ecx, dword [ebx + 0x10]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x1a4]
movss dword [ebp - 0x128], xmm0
call fcn.100bad60
movss dword [ebp - 0x124], xmm0
addss xmm0, dword [ebp - 0x34]
mov ecx, dword [ebx + 0x10]
divss xmm0, dword [ebp - 0x12c]
mov eax, dword [ecx]
movss dword [ebp - 0x120], xmm0
mov eax, dword [eax + 0x5f4]
call eax
cmp eax, 0x18
jne 0x100be0e6
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1029c3d4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102a6c58]
cmp eax, dword [ecx + 4]
jle 0x100be0b6
push 0x102a6c58
call fcn.101707aa
add esp, 4
cmp dword [0x102a6c58], 0xffffffff
jne 0x100be0b6
push str.tf_grenadelauncher_livetime
mov byte [ebp - 4], 2
call fcn.1016c1e0
push 0x102a6c58
mov dword [0x102a6c54], eax
mov byte [ebp - 4], 1
call fcn.10170759
add esp, 4
mov eax, dword [0x102a6c54]
test eax, eax
je 0x100be0c9
mov eax, dword [eax + 0x1c]
movss xmm0, dword [eax + 0x2c]
jmp 0x100be0d1
movss xmm0, dword [0x10286cd8]
mov edx, dword [ebx + 0x10]
push ecx
push 0
mov ecx, str.sticky_arm_time
call fcn.100b2c20
add esp, 8
jmp 0x100be0e9
xorps xmm0, xmm0
mov eax, dword [0x1029da70]
push ecx
mov ecx, 0x102a6a50
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x10286cb0]
cvttss2si eax, xmm0
mov dword [ebp - 0x114], eax
call fcn.100d2950
mov eax, dword [0x1029dbc8]
mov ecx, dword [0x1029f4bc]
dec eax
movd xmm1, eax
mov eax, dword [0x1029da70]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [0x1029f474]
mulss xmm1, dword [eax + 0x1c]
addss xmm0, xmm1
movss dword [ebp - 0xf8], xmm0
test ecx, ecx
je 0x100be15e
movss xmm0, dword [ebp - 0x124]
ucomiss xmm0, dword [0x10286b80]
lahf
test ah, 0x44
jnp 0x100be15e
mov al, 1
jmp 0x100be160
xor al, al
xor edx, edx
test al, al
cmovne edx, ecx
mov dword [ebp - 0x54], edx
cmp edx, 3
jne 0x100be1eb
push 0x18
mov dword [ebp - 0x15c], 0
call fcn.101706d6
add esp, 4
mov dword [ebp - 0x160], eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x158]
push eax
push 0x10
mov dword [ebp - 0x14c], 7
mov dword [ebp - 0x148], 8
mov dword [ebp - 0x164], 0x3f800000
call fcn.10091ca0
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 5
or edi, 1
jmp 0x100be214
mov ecx, dword [ebx + 8]
push dword [ebx + 0x10]
push esi
cmp dword [ecx + 4], 1
sete al
movzx eax, al
push eax
push ecx
lea eax, [ebp - 0x254]
push eax
call fcn.100bb280
mov dword [ebp - 4], 6
or edi, 2
push eax
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call fcn.100c0340
mov dword [ebp - 4], 7
mov eax, edi
test al, 2
je 0x100be24a
and eax, 0xfffffffd
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
call fcn.100bb550
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
test al, 1
je 0x100be2e4
mov ecx, dword [ebp - 0x158]
and eax, 0xfffffffe
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x100be2a5
mov eax, dword [ebp - 0x150]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x100be29b
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100be29b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.101706c8
add esp, 8
mov edi, dword [ebp - 0x160]
mov eax, dword [edi + 4]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x100be2d6
nop word [eax + eax]
mov esi, dword [eax]
push 0x18
push eax
call fcn.101706c8
add esp, 8
mov eax, esi
test esi, esi
jne 0x100be2c0
mov esi, dword [ebx + 0xc]
push 0x18
push edi
call fcn.101706c8
mov eax, dword [ebp - 0x14]
add esp, 8
cmp dword [ebp - 0x54], 0
jne 0x100be309
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
or eax, 4
lea edx, [ebp - 0x80]
xor edi, edi
jmp 0x100be331
movss xmm1, dword [ebp - 0x124]
lea ecx, [ebp - 0x214]
addss xmm1, dword [ebp - 0x34]
mov edx, dword [0x1029f2c4]
call fcn.100bb5e0
mov edx, eax
mov eax, dword [ebp - 0x14]
or eax, 8
mov edi, dword [edx]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x50], edi
mov edi, dword [edx + 4]
mov dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x50]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx], 0
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 0xb
test al, 8
je 0x100be385
and eax, 0xfffffff7
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x14], eax
call fcn.10090d50
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0xc
test al, 4
je 0x100be395
lea ecx, [ebp - 0x80]
call fcn.10090d50
xorps xmm0, xmm0
mov dword [ebp - 0x58], 0x7fffffff
xor ecx, ecx
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x104], xmm0
movss dword [ebp - 0x100], xmm0
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x110], xmm0
movss dword [ebp - 0x10c], xmm0
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [0x10286fb4]
movss dword [ebp - 0x88], xmm0
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0x40], ecx
jle 0x100beef8
mov eax, dword [0x1029da70]
movss xmm0, dword [ebp - 0xf8]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x10286cb0]
cvttss2si eax, xmm0
sub ecx, eax
cmp byte [ebp - 0x25c], 0
mov dword [ebp - 0x30], ecx
jne 0x100be465
lea eax, [ebp - 0x408]
push eax
call fcn.10139f30
mov edi, dword [ebp - 0x38]
movss xmm0, dword [ebp - 0x368]
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x364]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x360]
movss dword [edi + 8], xmm0
jmp 0x100be468
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x54], 0
mov byte [ebp - 4], 0xd
je 0x100be5f6
mov ecx, esi
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
call fcn.100a7550
mov ecx, dword [ebx + 0xc]
mov esi, eax
call fcn.100a7790
movss xmm2, dword [esi]
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi + 8]
addss xmm2, dword [eax]
addss xmm1, dword [eax + 4]
addss xmm0, dword [eax + 8]
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x180]
push 0
push eax
push dword [ebx + 0x10]
lea eax, [ebp - 0x138]
movss dword [ebp - 0x1e8], xmm2
push dword [ebx + 0xc]
movss dword [ebp - 0x1e4], xmm1
push esi
push eax
push edi
lea eax, [ebp - 0x1e8]
movss dword [ebp - 0x1e0], xmm0
push eax
call fcn.100bc650
cmp dword [ebp - 0x174], 3
je 0x100be603
mov eax, dword [0x1029da70]
movss xmm2, dword [ebp - 0x178]
movss xmm3, dword [ebp - 0x120]
movd xmm0, esi
movaps xmm1, xmm3
xorps xmm1, xmmword [0x10287330]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x1c]
subss xmm2, xmm0
comiss xmm1, xmm2
ja 0x100beef4
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x50], eax
je 0x100beef4
movaps xmm0, xmm2
call fcn.1003ca80
comiss xmm3, xmm0
jbe 0x100be603
push esi
lea eax, [ebp - 0x138]
push eax
push dword [ebx + 0x10]
lea eax, [ebp - 0x4c]
push dword [ebx + 0xc]
push eax
push dword [ebx + 8]
lea eax, [ebp - 0x220]
push eax
call fcn.100bb7b0
mov esi, eax
lea eax, [ebp - 0x70]
cmp eax, esi
je 0x100be5da
mov ecx, eax
call fcn.100c0420
mov eax, dword [esi]
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x6c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x68], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
lea ecx, [ebp - 0x220]
call fcn.100c0420
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x100be603
cmp dword [ebp - 0x200], 0
je 0x100beef4
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xe
mov edi, dword [ebp - 0x204]
mov esi, dword [edi]
cmp esi, edi
je 0x100be717
mov eax, dword [ebp - 0x38]
xor edx, edx
movss xmm1, dword [esi + 0x10]
movss xmm2, dword [esi + 0x14]
cmp dword [ebp - 0x54], 2
movss xmm0, dword [eax]
addss xmm1, dword [eax + 4]
addss xmm2, dword [eax + 8]
addss xmm0, dword [esi + 0xc]
cmove edx, dword [0x1029f5dc]
mov eax, dword [esi + 8]
add edx, eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmm3, xmmword [ebp - 0x154]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
movss dword [ebp - 0xd0], xmm0
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0xc8], xmm2
movups xmmword [ebp - 0xc4], xmm3
cmp ecx, dword [ebp - 0x18]
je 0x100be6e1
mov dword [ecx], eax
mov dword [ecx + 4], edx
movss dword [ecx + 8], xmm0
movss dword [ecx + 0xc], xmm1
movss dword [ecx + 0x10], xmm2
movups xmmword [ecx + 0x14], xmm3
add ecx, 0x24
mov dword [ebp - 0x20], ecx
jmp 0x100be6fa
lea eax, [ebp - 0xd8]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100c0a40
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x100be630
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x8c], edi
jmp 0x100be719
xor edi, edi
mov esi, dword [ebp - 0x70]
cmp esi, dword [ebp - 0x6c]
je 0x100be7e2
xor edi, edi
mov edx, 3
cmp dword [ebp - 0x54], 1
cmove edi, edx
mov edx, dword [ebp - 0x6c]
add esi, 8
jmp 0x100be743
mov eax, dword [ebp - 0x18]
movss xmm0, dword [esi - 8]
movss xmm1, dword [esi - 4]
movss xmm2, dword [esi]
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], edi
movss dword [ebp - 0xd0], xmm0
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0xc8], xmm2
movups xmm3, xmmword [esi + 4]
movups xmmword [ebp - 0xc4], xmm3
cmp ecx, eax
je 0x100be7ac
mov dword [ecx], 0xffffffff
mov dword [ecx + 4], edi
movss dword [ecx + 8], xmm0
movss dword [ecx + 0xc], xmm1
movss dword [ecx + 0x10], xmm2
movups xmmword [ecx + 0x14], xmm3
add ecx, 0x24
mov dword [ebp - 0x20], ecx
jmp 0x100be7c8
lea eax, [ebp - 0xd8]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100c0a40
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x18], eax
add esi, 0x1c
lea eax, [esi - 8]
cmp eax, edx
jne 0x100be740
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x8c], edi
cmp edi, ecx
je 0x100bedad
mov esi, dword [ebp - 0x30]
add edi, 0x20
mov eax, dword [edi - 0x20]
cmp eax, 0xffffffff
mov dword [ebp - 0x2c], eax
sete byte [ebp - 0x170]
jne 0x100be85b
mov eax, dword [ebp - 0x38]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 4]
subss xmm0, dword [edi - 0x14]
subss xmm2, dword [edi - 0x18]
movss xmm1, dword [eax + 8]
subss xmm1, dword [edi - 0x10]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1003cae0
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x3c], xmm0
cmp dword [edi - 0x1c], eax
jg 0x100bed96
comiss xmm0, dword [ebp - 0x88]
ja 0x100bed96
jmp 0x100be89f
movss xmm0, dword [ebp - 0x88]
mov eax, dword [ebp - 0x58]
movss dword [ebp - 0x3c], xmm0
cmp dword [edi - 0x1c], eax
jge 0x100be892
test eax, eax
je 0x100be892
cmp dword [ebp - 0x114], esi
jle 0x100be88e
lea ecx, [ebp - 0x3c0]
call fcn.100b8dc0
mov ecx, dword [ebp - 0x14]
test al, al
je 0x100be892
xor eax, eax
jmp 0x100be897
mov eax, 1
test eax, eax
jne 0x100bed99
mov ecx, dword [ebx + 0xc]
call fcn.100a7550
mov ecx, dword [ebx + 0xc]
mov esi, eax
call fcn.100a7790
movss xmm2, dword [esi]
movss xmm1, dword [esi + 4]
movss xmm0, dword [esi + 8]
addss xmm2, dword [eax]
addss xmm1, dword [eax + 4]
addss xmm0, dword [eax + 8]
push 1
lea eax, [edi - 0xc]
push eax
push dword [ebx + 0x10]
lea eax, [ebp - 0x138]
movss dword [ebp - 0x1dc], xmm2
push dword [ebx + 0xc]
movss dword [ebp - 0x1d8], xmm1
push dword [ebp - 0x30]
movss dword [ebp - 0x1d4], xmm0
push eax
lea eax, [edi - 0x18]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.100bc650
cmp dword [ebp - 0x2c], 0xffffffff
je 0x100be9d0
mov eax, dword [edi]
cmp eax, 1
je 0x100be925
cmp eax, 3
jne 0x100be9d0
movzx eax, byte [edi - 0x20]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi - 0x1f]
xor ecx, eax
movzx eax, byte [edi - 0x1e]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi - 0x1d]
imul ecx, ecx, 0x1000193
xor ecx, eax
lea eax, [edi - 0x20]
imul esi, ecx, 0x1000193
lea ecx, [ebp - 0x208]
push esi
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.10094480
mov edx, dword [eax + 4]
test edx, edx
je 0x100be9d0
mov ecx, dword [ebp - 0x1f0]
and ecx, esi
mov esi, dword [ebp - 0x1fc]
mov eax, dword [esi + ecx*8]
cmp dword [esi + ecx*8 + 4], edx
jne 0x100be9a9
cmp eax, edx
jne 0x100be9a0
mov eax, dword [ebp - 0x204]
mov dword [esi + ecx*8], eax
mov dword [esi + ecx*8 + 4], eax
jmp 0x100be9b2
mov eax, dword [edx + 4]
mov dword [esi + ecx*8 + 4], eax
jmp 0x100be9b2
cmp eax, edx
jne 0x100be9b2
mov eax, dword [edx]
mov dword [esi + ecx*8], eax
mov ecx, dword [edx]
dec dword [ebp - 0x200]
mov eax, dword [edx + 4]
push 0x18
push edx
mov dword [eax], ecx
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.101706c8
add esp, 8
cmp dword [edi], 1
jne 0x100bed93
mov eax, dword [0x1029db20]
lea ecx, [ebp - 0x80]
movss xmm0, dword [edi - 0xc]
movss xmm1, dword [edi - 8]
mov esi, dword [0x1029faec]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x7c], xmm1
mov dword [ebp - 0x78], 0
movss dword [ebp - 0x2c], xmm0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
call fcn.100aae90
sub esi, 1
je 0x100bea4c
sub esi, 1
je 0x100bee38
sub esi, 1
jne 0x100bea62
movq xmm0, qword [ebp - 0x80]
mov eax, dword [ebp - 0x78]
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x98], eax
push 8
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
call fcn.101706d6
lea ecx, [ebp - 0xb4]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0xb4], eax
mov dword [eax], ecx
mov eax, ecx
mov byte [ebp - 4], 0xf
push eax
push dword [ebp - 0x170]
lea eax, [ebp - 0xa0]
push dword [ebp - 0x30]
push eax
lea eax, [edi - 0x18]
push eax
push dword [ebx + 8]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
call fcn.100bcc90
test al, al
je 0x100bed69
movss xmm0, dword [ebp - 0x3c]
mov eax, dword [edi - 0x1c]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x98]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x38]
movss dword [ebp - 0x108], xmm0
mov esi, dword [ebx + 0x14]
movss xmm0, dword [eax]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [ebx + 0x20]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [edi - 0x18]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [edi - 0x14]
movss dword [ebp - 0x94], xmm0
movss xmm0, dword [edi - 0x10]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [edi - 4]
movss dword [eax], xmm0
lea eax, [ebp - 0x270]
cmp esi, eax
je 0x100bebb3
mov ecx, dword [ebp - 0x264]
lea edx, [ebp - 0x270]
mov eax, dword [ebp - 0x260]
add eax, ecx
push eax
push edx
push ecx
mov eax, edx
mov ecx, esi
push eax
call fcn.100b89d0
cmp dword [esi + 0x10], 0
je 0x100bed3b
movss xmm2, dword [ebp - 0x3b8]
lea edx, [ebp - 0x144]
mulss xmm2, dword [0x10286b80]
lea ecx, [ebp - 0x234]
movss xmm0, dword [ebp - 0x3c0]
movss xmm1, dword [ebp - 0x3bc]
movss dword [ebp - 0x144], xmm0
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x13c], xmm2
call fcn.100b8e50
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1003cae0
addss xmm0, dword [0x10286e98]
movss xmm1, dword [ebp - 0x368]
movss dword [ebp - 0x3c], xmm1
movss xmm1, dword [ebp - 0x364]
movss dword [ebp - 0x2c], xmm1
mulss xmm0, dword [0x10286c1c]
movss xmm1, dword [ebp - 0x360]
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x28], xmm0
call fcn.100590b0
movd xmm1, dword [0x102a1d34]
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x28]
call fcn.100590d0
mov eax, dword [esi + 0x10]
movaps xmm1, xmm0
movd xmm0, dword [0x102a1d34]
inc eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
addss xmm1, dword [ebp - 0x2c]
movss dword [ebp - 0x16c], xmm1
cmp dword [esi + 8], eax
ja 0x100becb7
push ecx
mov ecx, esi
call fcn.100b8b20
mov ecx, dword [esi + 8]
lea eax, [ecx - 1]
dec ecx
and eax, dword [esi + 0xc]
mov dword [esi + 0xc], eax
mov edx, dword [esi + 0x10]
add edx, eax
mov eax, dword [esi + 4]
and ecx, edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x28], ecx
cmp dword [eax + ecx*4], 0
jne 0x100becf0
push 0x18
call fcn.101706d6
mov edx, dword [ebp - 0x28]
add esp, 4
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0x60]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
dec ecx
movss xmm0, dword [ebp - 0x3c]
and ecx, edx
movss xmm1, dword [ebp - 0x168]
mov eax, dword [eax + ecx*4]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [eax + 0xc], xmm1
movss xmm1, dword [ebp - 0x16c]
movss dword [eax + 8], xmm0
movss dword [eax + 0x10], xmm1
movss dword [eax + 0x14], xmm0
inc dword [esi + 0x10]
mov edx, dword [ebx + 0x18]
lea eax, [ebp - 0xb4]
cmp edx, eax
je 0x100bed69
mov ecx, dword [ebp - 0xa8]
lea esi, [ebp - 0xb4]
mov eax, dword [ebp - 0xa4]
add eax, ecx
push eax
push esi
push ecx
mov eax, esi
mov ecx, edx
push eax
call fcn.100b89d0
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0xe
call fcn.100a62d0
mov eax, dword [ebp - 0xb4]
push 8
push eax
mov dword [ebp - 0xb4], 0
call fcn.101706c8
add esp, 8
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
add edi, 0x24
lea eax, [edi - 0x20]
cmp eax, ecx
jne 0x100be7f0
mov edi, dword [ebp - 0x8c]
mov byte [ebp - 4], 0xd
test edi, edi
je 0x100bee0e
mov ecx, dword [ebp - 0x18]
mov eax, 0x38e38e39
sub ecx, edi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*8]
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100bedef
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100be295
push ecx
push edi
call fcn.101706c8
add esp, 8
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xc
call fcn.100c0420
mov ecx, dword [ebp - 0xfc]
inc ecx
mov dword [ebp - 0xfc], ecx
cmp ecx, dword [ebp - 0x40]
jge 0x100beef8
mov esi, dword [ebx + 0xc]
jmp 0x100be402
movss xmm0, dword [0x1029f864]
divss xmm0, dword [0x10286ea0]
movss xmm1, dword [0x10286d00]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x60], xmm1
movss xmm1, dword [0x10286efc]
call fcn.1003caa0
movaps xmm1, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [0x10286efc]
call fcn.1003caa0
subss xmm0, dword [ebp - 0x28]
movss xmm1, dword [ebp - 0x5c]
mulss xmm0, dword [ebp - 0x60]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0xa0], xmm1
movss xmm1, dword [0x10286efc]
call fcn.1003caa0
movaps xmm1, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [0x10286efc]
call fcn.1003caa0
subss xmm0, dword [ebp - 0x28]
movss xmm1, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x60]
subss xmm1, xmm0
movss dword [ebp - 0x9c], xmm1
jmp 0x100bea62
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x408]
push eax
call fcn.1013a1a0
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 8]
mov eax, dword [ecx + 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp dword [ebp - 0x58], 0x7fffffff
addsd xmm0, qword [eax*8 + 0x10287280]
mov eax, dword [0x1029da70]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x90]
movss dword [esi + 8], xmm0
movss xmm0, dword [ebp - 0x94]
movss dword [esi + 0xc], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [esi + 0x10], xmm0
je 0x100bf1d6
cmp dword [esi + 4], 1
jne 0x100bef78
cmp byte [ebp - 0x25c], 0
jne 0x100bf1d6
movss xmm0, dword [ebp - 0x100]
movss dword [esi + 0x14], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [esi + 0x18], xmm0
movss xmm0, dword [ebp - 0x108]
movss dword [esi + 0x1c], xmm0
cmp byte [0x102a3a79], 0
je 0x100bf1cf
movss xmm0, dword [ebp - 0x10c]
mov ecx, dword [esi]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0xec], xmm0
call fcn.100a7670
mov ecx, dword [esi]
movss xmm0, dword [eax]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0xe0], xmm0
call fcn.100a7700
cmp byte [0x102a1ee1], 0
movss xmm1, dword [0x10286da4]
mov dword [ebp - 0xc8], 0
movss xmm0, dword [eax]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0xd4], xmm0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
je 0x100bf069
movss xmm0, dword [ebp - 0x40]
jmp 0x100bf06c
movaps xmm0, xmm1
mov edi, dword [0x1029da70]
mov esi, dword [ebx + 0x1c]
mov eax, dword [0x102a5eb4]
mov dword [ebp - 0xc0], eax
addss xmm0, dword [edi + 0xc]
mov eax, dword [0x102a6334]
mov edx, dword [esi + 4]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 0xb8], 1
movss dword [ebp - 0xc4], xmm0
push eax
cmp edx, dword [esi + 8]
je 0x100bf0bc
call fcn.100b25b0
add esp, 4
add dword [esi + 4], 0x40
jmp 0x100bf0d2
push edx
mov ecx, esi
call fcn.100c11d0
mov edi, dword [0x1029da70]
movss xmm1, dword [0x10286da4]
cmp byte [0x102a1ee1], 0
movss xmm0, dword [ebp - 0x90]
movss xmm2, dword [0x10286d00]
maxss xmm2, dword [ebp - 0x1b4]
mov edx, dword [esi + 4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0xec], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x10286fdc]
mov dword [ebp - 0xc8], 0
movss dword [ebp - 0xdc], xmm2
movss dword [ebp - 0xd8], xmm2
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0xe4], xmm0
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0xd4], xmm2
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
je 0x100bf17b
movss xmm0, dword [ebp - 0x40]
jmp 0x100bf17e
movaps xmm0, xmm1
mov eax, dword [0x102a5eb4]
addss xmm0, dword [edi + 0xc]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x102a6334]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0xf4]
mov byte [ebp - 0xb8], 1
movss dword [ebp - 0xc4], xmm0
push eax
cmp edx, dword [esi + 8]
je 0x100bf1c7
call fcn.100b25b0
add esp, 4
add dword [esi + 4], 0x40
mov esi, 1
jmp 0x100bf1d8
push edx
mov ecx, esi
call fcn.100c11d0
mov esi, 1
jmp 0x100bf1d8
xor esi, esi
lea ecx, [ebp - 0x4c]
call fcn.10090d50
lea ecx, [ebp - 0x208]
call fcn.100bb550
jmp 0x100bf1fb
lea eax, [ebp - 0x408]
push eax
call fcn.1013a1a0
xor esi, esi
lea ecx, [ebp - 0x198]
call fcn.100a62d0
mov eax, dword [ebp - 0x198]
push 8
push eax
mov dword [ebp - 0x198], 0
call fcn.101706c8
add esp, 8
lea ecx, [ebp - 0x270]
call fcn.100a62d0
mov ecx, dword [ebp - 0x270]
push 8
push ecx
mov dword [ebp - 0x270], 0
call fcn.101706c8
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x1c