Function at 0x47fc00
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6e0a88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
xorps xmm0, xmm0
xor eax, eax
mov ax, word [esi + 0x76]
movzx cx, ah
push ebx
push edi
mov edi, dword [ebp + 8]
and eax, 0xff
lea edx, [esp + 0x20]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x28], xmm0
push ecx
mov ecx, dword [esi + 0x22f4]
push eax
push edx
mov edx, dword [0x91a2e8]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [edx + ecx*8]
add eax, dword [0x91a2fc]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, 0x91a698
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x60], xmm0
call fcn.00510720
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
mov ecx, 0x8d68e0
call fcn.004013f0
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x18], ebx
je 0x47fe4b
mov edx, str.THETA_PARASITE
mov eax, 0x1505
mov ecx, 0x54
jmp 0x47fcc0
inc edx
cmp ecx, 0x61
jl 0x47fcce
cmp ecx, 0x7a
jg 0x47fcce
sub ecx, 0x20
imul eax, eax, 0x21
xor eax, ecx
movsx ecx, byte [edx]
test ecx, ecx
jne 0x47fcc0
and eax, 0xfffffff
or eax, 0x40000000
mov dword [esp + 0x14], eax
mov dword [esp + 0x6c], ecx
lea ecx, [esi + 0xde0]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x20], edx
fld dword [esp + 0x20]
fsub dword [edi]
mov edx, dword [ecx + 8]
mov dword [esp + 0x24], eax
fld dword [esp + 0x24]
fsub dword [edi + 4]
mov dword [esp + 0x28], edx
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [edi + 8]
fld st(1)
movss dword [esp + 0x10], xmm0
fmul st(2)
movss dword [esp + 0x48], xmm0
fld dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
fmul dword [esp + 0x10]
xorps xmm0, xmm0
movss xmm1, dword [0x738aac]
mov dword [esp + 0x2c], eax
faddp st(1)
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x54], xmm1
fsqrt
movss dword [esp + 0x58], xmm0
mov edx, str.THETA_ParasiteSpeed
mov ecx, 0x1505
mov eax, 0x54
fxch st(1)
fxch st(1)
fpatan
fchs
fstp dword [esp + 0x34]
fld dword [esp + 0x48]
fpatan
fstp dword [esp + 0x38]
lea esp, [esp]
inc edx
cmp eax, 0x61
jl 0x47fd9e
cmp eax, 0x7a
jg 0x47fd9e
sub eax, 0x20
imul ecx, ecx, 0x21
xor ecx, eax
movsx eax, byte [edx]
test eax, eax
jne 0x47fd90
and ecx, 0xfffffff
or ecx, 0x10000000
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x10]
push ecx
mov edi, 0x91a408
call fcn.0050e790
test eax, eax
je 0x47fde2
lea edx, [esp + 0x10]
push edx
call fcn.0050e790
test eax, eax
je 0x47fdea
movss xmm0, dword [eax + 4]
jmp 0x47fdea
movss xmm0, dword [0x738c18]
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov ebx, dword [ebx]
push 0
mov ecx, esi
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x28], eax
call dword [edx + 0xb8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
push edi
mov edi, dword [esp + 0x2c]
push edx
mov edx, dword [ebp + 8]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x50]
push ecx
push edx
mov ecx, edi
call dword [ebx + 0x148]
mov ecx, dword [esi + 0xe14]
mov edx, dword [esi + 0xe10]
mov eax, dword [edi]
push ecx
push edx
mov ecx, edi
call dword [eax + 0x14c]
mov ecx, dword [esp + 0x64]
pop edi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4