Function at 0x67cae0
Capabilities:
Hash data using djb2

Disassembly:
sub esp, 0xc
push ebx
xor ebx, ebx
push ebp
push esi
mov esi, ecx
mov dword [esi + 0x14], ebx
lea eax, [esi + 4]
mov dword [eax], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi], 0x878150
mov dword [esi + 0x18], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
lea ebp, [esi + 0x20]
or ecx, 0xffffffff
push edi
mov edi, dword [esp + 0x20]
mov dword [esi + 0x104], ecx
mov dword [esi + 0x150], ecx
mov ecx, dword [esp + 0x30]
push eax
push 0xa83e28
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xec], ebx
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], 0x43400000
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], ebx
mov dword [esi + 0x108], ebx
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], 0x40a00000
mov dword [esi + 0x11c], ebx
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x12c], ebx
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov byte [esi + 0x13c], bl
mov byte [esi + 0x13d], bl
mov byte [esi + 0x13e], bl
mov byte [esi + 0x13f], 1
mov byte [esi + 0x140], 1
mov byte [esi + 0x141], bl
mov byte [esi + 0x142], bl
mov byte [esi + 0x143], bl
mov byte [esi + 0x144], bl
mov byte [esi + 0x145], bl
mov byte [esi + 0x146], bl
mov byte [esi + 0x147], bl
mov byte [esi + 0x148], bl
mov byte [esi + 0x14a], bl
mov byte [esi + 0x14b], bl
mov byte [esi + 0x14c], bl
mov byte [esi + 0x154], bl
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], ecx
call fcn.00798e68
fcomp dword [0x878010]
add esp, 8
fnstsw ax
test ah, 5
mov eax, dword [0xa81684]
jnp 0x67cc54
mov eax, dword [edi + 0x674]
mov dword [esi + 0x1c], eax
mov ecx, dword [0xaacab4]
push ebx
call fcn.006f4740
cmp eax, ebx
je 0x67cf8f
mov edx, dword [edi + 0x4d0]
mov ecx, dword [esi + 0x15c]
push edx
push ecx
mov ecx, eax
call fcn.006f45d0
mov edi, eax
cmp edi, ebx
je 0x67cc90
inc dword [edi + 0x14]
cmp edi, ebx
je 0x67cc90
inc dword [edi + 0x14]
mov ecx, dword [esi + 0x18]
cmp ecx, ebx
mov dword [esi + 0x18], edi
je 0x67cca5
dec dword [ecx + 0x14]
jne 0x67cca5
mov edx, dword [ecx]
push 1
call dword [edx]
cmp edi, ebx
je 0x67ccb6
dec dword [edi + 0x14]
jne 0x67ccb6
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov ecx, dword [0xaacab4]
push ebx
call fcn.006f4740
cmp eax, ebx
je 0x67cf96
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esi + 0x1c]
push ecx
push edx
mov ecx, eax
call fcn.006f5290
mov edi, eax
cmp edi, ebx
je 0x67ccf4
inc dword [edi + 0x14]
cmp edi, ebx
je 0x67ccf4
inc dword [edi + 0x14]
mov ecx, dword [ebp]
cmp ecx, ebx
mov dword [ebp], edi
je 0x67cd09
dec dword [ecx + 0x14]
jne 0x67cd09
mov eax, dword [ecx]
push 1
call dword [eax]
cmp edi, ebx
je 0x67cd1a
dec dword [edi + 0x14]
jne 0x67cd1a
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov ecx, dword [esi + 0x24]
cmp ecx, ebx
mov dword [esi + 0x24], ebx
je 0x67cd2f
dec dword [ecx + 0x14]
jne 0x67cd2f
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x28]
cmp ecx, ebx
mov dword [esi + 0x28], ebx
je 0x67cd44
dec dword [ecx + 0x14]
jne 0x67cd44
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esi + 0x18]
push ebx
push ebx
push 0x40c00000
push ebx
push ebp
call fcn.006f4680
mov ecx, dword [esi + 0x2c]
push 9
call fcn.005f8f80
mov dword [esi + 0x108], eax
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0xac]
mov dword [eax], ecx
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esi + 0xb8]
mov dword [edx], eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0xc4]
mov dword [ecx], edx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0xd0]
mov dword [eax], ecx
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esi + 0xdc]
mov dword [edx], eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0x34]
mov dword [ecx], edx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x48]
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov dword [eax], ecx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esp + 0x18], 0
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x18]
fld dword [0x84669c]
mov dword [eax + 8], ecx
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esi + 0x54]
mov dword [edx], eax
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov dword [edx + 8], eax
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
lea ecx, [esi + 0x68]
mov dword [ecx], edx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
mov dword [ecx + 8], edx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x88]
mov dword [eax], ecx
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ebx
cmp dword [ecx + 0xbc], ebx
setne al
cmp al, bl
mov byte [esi + 0x14b], al
je 0x67cfa3
mov al, byte [ecx + 0x505]
fstp st(0)
cmp al, bl
je 0x67cf9d
fld dword [0x878090]
jmp 0x67cfa3
xor edi, edi
jmp 0x67cc89
xor edi, edi
jmp 0x67cced
fld dword [0x87808c]
call fcn.0081cba0
mov dword [esi + 0xfc], eax
mov ecx, dword [0xaa5bf4]
cmp ecx, ebx
jne 0x67cfd5
mov ecx, 0x1505
mov edx, str.MarkingInstance
movzx eax, byte [edx]
imul ecx, ecx, 0x21
inc edx
add ecx, eax
cmp eax, ebx
jne 0x67cfc2
mov dword [0xaa5bf4], ecx
push ecx
mov ecx, dword [0xaacab4]
push esi
call fcn.006f47a0
push 1
push 0x8781c4
call fcn.00704c0b
mov ecx, eax
call fcn.00704db9
cmp eax, 1
jne 0x67d018
mov edx, dword [esi + 0x2c]
cmp dword [edx + 0xbc], ebx
mov eax, esi
je 0x67d01a
pop edi
mov byte [esi + 0x154], 1
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x14
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x14