Function at 0x55b6e0
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6dfe30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push esi
mov esi, ecx
push edi
mov ecx, ebx
call dword [eax + 0x50]
push eax
lea ecx, [esp + 0x20]
push str._s_MeleeReachDistance
push ecx
call fcn.00626a10
mov edx, dword [eax]
add esp, 0xc
call fcn.0050e6f0
and eax, 0xfffffff
or eax, 0x10000000
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x1c]
call fcn.00626990
lea edx, [esp + 0x18]
push edx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x55b773
lea eax, [esp + 0x18]
push eax
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x55b7b3
movss xmm0, dword [eax + 4]
jmp 0x55b7b6
mov edx, str.CHARACTER_MeleeReachDistance
mov ecx, 0x1505
mov eax, 0x43
inc edx
cmp eax, 0x61
jl 0x55b790
cmp eax, 0x7a
jg 0x55b790
sub eax, 0x20
imul ecx, ecx, 0x21
xor ecx, eax
movsx eax, byte [edx]
test eax, eax
jne 0x55b782
and ecx, 0xfffffff
or ecx, 0x10000000
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x20]
push ecx
jmp 0x55b75e
xorps xmm0, xmm0
mov edx, dword [ebx]
mov ecx, ebx
movss dword [esp + 0x20], xmm0
call dword [edx + 0x50]
push eax
lea eax, [esp + 0x28]
push str._s_MeleeSphereRadius
push eax
call fcn.00626a10
mov edx, dword [eax]
add esp, 0xc
call fcn.0050e6f0
and eax, 0xfffffff
or eax, 0x10000000
mov dword [esp + 0x1c], eax
mov byte [esp + 0x4c], 1
mov eax, dword [esp + 0x24]
call fcn.00626990
lea ecx, [esp + 0x1c]
push ecx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x55b826
lea edx, [esp + 0x1c]
push edx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x55b866
movss xmm0, dword [eax + 4]
jmp 0x55b869
mov edx, str.CHARACTER_MeleeSphereRadius
mov ecx, 0x1505
mov eax, 0x43
inc edx
cmp eax, 0x61
jl 0x55b843
cmp eax, 0x7a
jg 0x55b843
sub eax, 0x20
imul ecx, ecx, 0x21
xor ecx, eax
movsx eax, byte [edx]
test eax, eax
jne 0x55b835
and ecx, 0xfffffff
or ecx, 0x10000000
lea eax, [esp + 0x28]
mov dword [esp + 0x28], ecx
push eax
jmp 0x55b811
xorps xmm0, xmm0
movss dword [esi], xmm0
mov edi, dword [ebx + 0x46c]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea esi, [edi + 0x10]
call fcn.00533f20
addss xmm0, dword [edi + 0x50c]
push ecx
movss dword [esp], xmm0
call fcn.00403f60
movss xmm2, dword [esp + 0x34]
movss xmm0, dword [esp + 0x38]
movss xmm3, dword [esp + 0x2c]
xorps xmm4, xmm4
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
movaps xmm1, xmm2
mulss xmm2, xmm4
movaps xmm5, xmm0
mulss xmm0, xmm3
subss xmm0, xmm2
movss xmm2, dword [ebx + 0x40]
movss dword [esp + 0x3c], xmm2
movss xmm2, dword [ebx + 0x44]
mov ecx, dword [esp + 0x3c]
movss dword [esp + 0x40], xmm2
movss xmm2, dword [ebx + 0x48]
mov edx, dword [esp + 0x40]
movss dword [esp + 0x44], xmm2
mov eax, esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
movss xmm2, dword [esi]
mulss xmm1, xmm3
mulss xmm5, xmm4
addss xmm1, xmm5
addss xmm2, xmm1
movss xmm1, dword [esi + 4]
movss dword [esp + 0x40], xmm1
movss xmm1, dword [esi + 8]
mov edx, dword [esp + 0x40]
movss dword [esp + 0x3c], xmm2
mov ecx, dword [esp + 0x3c]
mov eax, edi
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
addss xmm1, xmm0
movss dword [esp + 0x44], xmm1
mov ecx, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebx]
add esp, 0xc
mov ecx, ebx
call dword [eax + 0x1f4]
fmul dword [0x738a1c]
mov ecx, dword [esp + 0x44]
fld st(0)
fadd dword [esi + 4]
fstp dword [esi + 4]
fadd dword [edi + 4]
fstp dword [edi + 4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc