Function at 0x406950
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4468a8]
sub esp, 0x130
push ebx
not eax
sub eax, 0x1f728851
push esi
or ebx, 0xffffffff
cmp eax, 0xe99bb35c
push edi
jl 0x406998
mov cx, word [0x47f25c]
mov eax, dword [0x44bbc0]
mov edx, dword [0x44a06c]
movsx ecx, cx
xor eax, ecx
xor edx, eax
mov word [0x47f25c], dx
add dword [0x44a06c], ebx
fld dword [0x4925e8]
mov esi, 0x58ff3f6f
fld dword [0x48f16c]
fmul dword [0x48b590]
fadd dword [0x48f174]
fsubp st(1)
fstp dword [0x4925e8]
fld dword [0x48b590]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x48b590]
movzx eax, word [0x4847e0]
sub eax, 0x4d995a78
mov word [0x4847e0], ax
mov cx, word [0x4816b2]
movzx edx, word [0x47de46]
movsx eax, cx
add edx, eax
mov eax, dword [ebp + 0xc]
mov word [0x4816b2], dx
xor edx, edx
add eax, 2
add dword [0x43e840], ebx
mov ecx, dword [0x43e840]
xor ecx, 0xadb8e966
or dword [0x44e7f0], ecx
mov dword [0x44bbf0], esi
movzx ecx, byte [eax - 2]
movzx edi, byte [eax - 1]
shl ecx, 8
or ecx, edi
movzx edi, byte [eax]
shl ecx, 8
or ecx, edi
movzx edi, byte [eax + 1]
shl ecx, 8
or ecx, edi
mov dword [ebp + edx*4 - 0x130], ecx
mov ecx, dword [0x448e5c]
add dword [0x448e5c], ebx
or ecx, 0xcfb77a3e
cmp ecx, 0x3542b647
jg 0x406a74
mov ecx, dword [0x442820]
imul ecx, ecx, 0xb443654c
mov dword [0x442820], ecx
jmp 0x406a7e
and dword [0x444d38], 0x1142425a
add dword [0x43e380], 0x384a2a0
or dword [0x43fc88], 0xc5eb21d6
inc edx
add eax, 4
cmp edx, 0x10
jne 0x406a03
fld dword [0x4935ec]
mov eax, dword [ebp + 8]
fmul dword [0x494734]
add eax, 8
push 0x24
push eax
fadd dword [0x48795c]
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 8], eax
fstp dword [0x48795c]
fsubr dword [0x4935ec]
fstp dword [0x4935ec]
call fcn.00402c90
fld dword [0x49a764]
push 0x100
fstp dword [0x48c778]
push 0x25c5
call fcn.00408190
add dword [0x44d008], ebx
mov dword [ebp - 4], eax
mov ax, word [0x483578]
mov ecx, dword [0x44d008]
add word [0x483578], bx
cwde
imul ecx, eax
sub ecx, 0x576a52e9
add esp, 0x14
cmp ecx, 0xbfdd8fff
jle 0x406b2e
or dword [0x44a184], 0xaaa07519
fld1
lea eax, [ebp - 0x30]
xor esi, esi
sub eax, 4
lea edi, [ebp - 0x130]
mov dword [ebp + 8], esi
mov dword [ebp - 0xc], eax
sub edi, 8
jmp 0x406b4c
or ebx, 0xffffffff
mov eax, dword [0x4499e4]
mov edx, dword [0x44cf7c]
add eax, 0x44165c1c
add edx, 0x11bb1a4e
cmp edx, eax
jne 0x406b7a
movzx eax, word [0x484a1c]
and eax, 0x75223a81
mov word [0x484a1c], ax
jmp 0x406bb0
fld dword [0x48694c]
fld dword [0x495acc]
fmul qword [0x46aaf0]
fld dword [0x48694c]
fadd st(3)
fstp dword [0x48694c]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x406bb0
or dword [0x448ad8], 0x5d65d893
cmp esi, 0xf
jle 0x406c60
fld dword [0x48f9ec]
mov edx, 0x40362580
fsub qword [0x462380]
fld qword [0x46e9e8]
fld dword [0x486f94]
mov eax, dword [edi]
faddp st(2)
fsubrp st(1)
fstp qword [0x46e9e8]
add dword [0x44e63c], ebx
mov ecx, dword [0x44e63c]
imul ecx, ecx, 0xd1c5632
sub edx, ecx
mov dword [0x441e60], edx
add dword [0x447ca8], 0x80bb24b2
mov ecx, dword [edi - 0x34]
or dword [0x43f81c], 0xffefdfd5
mov edx, eax
rol edx, 0xf
mov ebx, eax
shr eax, 0xa
rol ebx, 0xd
xor edx, ebx
xor edx, eax
mov eax, ecx
rol eax, 0xe
mov ebx, ecx
ror ebx, 7
xor eax, ebx
shr ecx, 3
xor eax, ecx
add edx, eax
add edx, dword [edi - 0x38]
add edx, dword [edi - 0x14]
mov dword [edi + 8], edx
inc dword [0x44ebc0]
mov eax, dword [0x44ebc0]
movzx ecx, word [0x484508]
and eax, 0xfad67d81
sub ecx, eax
mov word [0x484508], cx
mov dx, word [0x482fae]
movsx eax, dx
cmp eax, 0x9cd1b1ed
jge 0x406ca2
mov ecx, dword [0x446d78]
shl ecx, 6
or ecx, 0x26d450d9
cmp ecx, 0xcef5d6d5
jge 0x406ca2
fld dword [0x48e008]
fld dword [0x490020]
fadd dword [0x48c944]
fsubp st(1)
fstp dword [0x48e008]
movzx edx, word [0x47d008]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
and edx, 0x5fe5e1ed
mov word [0x47d008], dx
mov eax, ecx
mov edx, ecx
ror eax, 0xb
rol edx, 7
xor eax, edx
mov edx, ecx
ror edx, 6
xor eax, edx
mov edx, dword [ebp - 0x18]
xor ebx, edx
and ebx, ecx
mov ecx, dword [ebp - 4]
xor ebx, edx
movzx edx, word [0x47e0be]
add eax, ebx
add eax, dword [ecx + esi*4]
movsx ecx, dx
mov edx, dword [0x43de04]
add eax, dword [edi + 8]
xor ecx, 0x10a6f09a
add eax, dword [ebp - 0x14]
imul edx, ecx
mov dword [0x43de04], edx
mov edx, dword [ebp - 0x30]
mov ecx, edx
ror ecx, 0xd
mov esi, edx
rol esi, 0xa
xor ecx, esi
mov esi, edx
ror esi, 2
xor ecx, esi
mov esi, dword [ebp - 0x2c]
mov ebx, esi
or ebx, edx
and ebx, dword [ebp - 0x28]
add dword [0x45022c], 0x39b9fa74
add dword [ebp - 0x24], eax
xor dword [0x4403b8], 0xc5d3966e
and esi, edx
or ebx, esi
add ecx, ebx
add ecx, eax
mov ax, word [0x482f60]
mov dword [ebp - 0x14], ecx
movsx ecx, ax
shl ecx, 9
xor ecx, 0xb217939e
cmp ecx, 0xef4f29ff
jge 0x406d75
movzx edx, word [0x4806b8]
and edx, 0x37b7f7de
mov word [0x4806b8], dx
dec dword [0x445da0]
mov eax, dword [0x445da0]
mov edx, dword [ebp - 0xc]
or eax, 0xa8e76b70
xor dword [0x44b29c], eax
mov dword [0x44bd40], 0x264ba644
mov ecx, 8
mov esi, 0x524e878e
inc word [0x480e40]
mov ax, word [0x480e40]
movzx ebx, word [0x47f02c]
cwde
add eax, 0x7790695b
xor eax, 0x9cabad4d
or ebx, eax
mov eax, dword [edx + ecx*4]
mov dword [ebp + ecx*4 - 0x30], eax
mov word [0x47f02c], bx
add dword [0x43d9c0], esi
sub ecx, 1
jne 0x406da2
fld dword [0x48a200]
mov esi, dword [ebp + 8]
fadd dword [0x49731c]
mov ecx, dword [ebp - 0x10]
inc esi
add edi, 4
fstp dword [0x48a200]
mov dword [ebp - 0x30], ecx
fld dword [0x48ab58]
mov dword [ebp + 8], esi
fmul dword [0x4905cc]
fstp dword [0x48ab58]
cmp esi, 0x40
jne 0x406b49
mov edx, dword [ebp - 4]
fstp st(0)
fld dword [0x48e308]
push edx
fmul dword [0x48f5e0]
push 0x100
fsub dword [0x48c160]
fmul dword [0x499a8c]
fstp dword [0x499a8c]
call fcn.00431c30
mov eax, dword [0x44bbec]
fld1
mov ecx, dword [0x43da4c]
add esp, 8
add eax, 0xb5da20a0
add ecx, eax
pop edi
pop esi
mov dword [0x44bbec], ecx
mov ecx, dword [ebp - 8]
xor eax, eax
pop ebx
fld dword [0x490734]
inc eax
fsub dword [0x495980]
add ecx, 4
fadd dword [0x499220]
fstp dword [0x499220]
fld dword [0x490734]
mov edx, dword [ebp + eax*4 - 0x34]
fadd st(1)
fstp dword [0x490734]
add dword [ecx - 4], edx
fld dword [0x4980f4]
fsub qword [0x453240]
fadd dword [0x4965a8]
fstp dword [0x4965a8]
cmp eax, 8
jne 0x406e6c
movzx eax, word [0x4852e4]
fstp st(0)
xor eax, 0x2bd3a49d
mov word [0x4852e4], ax
mov esp, ebp
pop ebp
ret