Function at 0x10053df0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x10096024]
movsd xmm0, qword [0x1007f488]
xor eax, ebp
mov dword [ebp - 0x10], eax
movss xmm1, dword [ecx + 8]
movss xmm2, dword [ecx + 0x1c]
orpd xmm1, xmm0
orpd xmm2, xmm0
subsd xmm1, xmm0
subsd xmm2, xmm0
cvtsd2ss xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
divss xmm1, xmm0
ucomiss xmm1, dword [ecx]
jbe 0x10053dd9
mov ebx, dword [ecx + 0x1c]
mov esi, ecx
mov cl, 3
cmp ebx, 0x1fffffff
setb al
cmp ebx, 0x200
jb 0x10053d67
mov ecx, eax
mov eax, dword [esi + 0x14]
shl ebx, cl
lea ecx, [esi + 0xc]
lea edi, [ebx + ebx]
sub eax, dword [esi + 0xc]
sar eax, 2
cmp eax, edi
jae 0x10053d93
cmp edi, 0x40000000
jae 0x10053deb
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.10010c20
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push edi
call fcn.100108d0
lea eax, [ebx - 1]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov eax, dword [esi + 4]
mov edi, dword [eax]
cmp edi, eax
je 0x10053dd9
mov ebx, dword [eax + 4]
jmp 0x10053dc5
mov eax, dword [esi + 4]
mov edi, dword [eax]
lea eax, [edi + 8]
mov ecx, esi
push edi
push eax
lea eax, [ebp - 0x18]
push eax
call 0x10053df0
cmp edi, ebx
jne 0x10053dc0
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005c924
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.10004670
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], 0xf
jbe 0x10053e07
mov eax, dword [eax]
test esi, esi
mov ebx, 0x811c9dc5
mov dword [ebp - 0x10], eax
je 0x10053e2f
mov edi, esi
nop word cs:[eax + eax]
nop
movzx edx, byte [eax]
inc eax
xor edx, ebx
imul ebx, edx, 0x1000193
dec edi
jne 0x10053e20
mov edi, dword [ecx + 4]
and ebx, dword [ecx + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + ebx*8]
add ebx, ebx
mov dword [ebp - 0x18], edi
cmp edx, edi
je 0x10053e56
lea eax, [ebx*4]
or eax, 4
mov eax, dword [ecx + eax]
mov edi, dword [eax]
cmp edx, edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
je 0x10053ea0
mov edi, dword [edi + 4]
cmp esi, dword [edi + 0x18]
jne 0x10053e9c
cmp dword [edi + 0x1c], 0xf
jbe 0x10053e80
mov eax, dword [edi + 8]
jmp 0x10053e83
lea eax, [edi + 8]
mov ecx, dword [ebp - 0x10]
push esi
push eax
push ecx
call fcn.1006027d
add esp, 0xc
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x10053f37
cmp edx, edi
jne 0x10053e60
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edi]
mov edi, dword [ebp - 0x20]
cmp eax, edx
je 0x10053ee4
mov edi, dword [ebp + 0x10]
mov esi, edx
mov edx, dword [edi + 4]
mov dword [edx], eax
mov edx, dword [eax + 4]
mov dword [edx], esi
mov edx, dword [esi + 4]
mov dword [edx], edi
mov edx, dword [esi + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x10]
mov dword [edi + 4], eax
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x18], eax
mov edx, dword [edi + ebx*4]
mov esi, ecx
mov ecx, dword [ebp + 0x10]
lea eax, [edi + ebx*4]
cmp edx, dword [ebp - 0x18]
je 0x10053f22
cmp edx, dword [ebp - 0x1c]
je 0x10053f95
or ebx, 1
mov eax, dword [edi + ebx*4]
mov eax, dword [eax]
mov dword [edi + ebx*4], eax
mov edi, ecx
cmp eax, ecx
mov ecx, esi
je 0x10053f9d
mov edx, dword [ecx + 0xc]
lea eax, [edx + ebx*4]
mov edx, dword [edx + ebx*4]
mov edx, dword [edx + 4]
jmp 0x10053f9b
shl ebx, 2
mov dword [eax], ecx
mov edi, ecx
mov ecx, esi
or ebx, 4
mov edx, edi
add ebx, dword [esi + 0xc]
mov eax, ebx
jmp 0x10053f9b
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x14]
dec dword [eax + 8]
mov eax, dword [edx + 0x1c]
cmp eax, 0x10
jb 0x10053f86
mov ecx, dword [edx + 8]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10053f79
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10053fb6
add eax, 0x24
mov ecx, edx
mov esi, eax
push esi
push ecx
call fcn.1005c916
add esp, 8
mov edx, dword [ebp + 0x10]
push 0x20
push edx
call fcn.1005c916
add esp, 8
xor ecx, ecx
jmp 0x10053fa4
mov edi, ecx
mov edx, ecx
mov ecx, esi
mov dword [eax], edx
call fcn.10053d00
mov cl, 1
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov byte [eax + 4], cl
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
call fcn.10067a70
int3