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

Disassembly:
push ebp
mov ebp, esp
fld dword [0x46d66c]
sub esp, 0x130
fmul dword [0x4708f8]
push esi
push edi
or edi, 0xffffffff
fstp dword [0x46d66c]
fld dword [0x46aca0]
fmul dword [0x46a3c8]
fsub qword [0x44d118]
fadd dword [0x4717e4]
fstp dword [0x4717e4]
mov eax, dword [0x43f6a0]
mov ecx, dword [0x44477c]
add dword [0x43f6a0], edi
add eax, 0x8673ce82
sar ecx, 7
and ecx, eax
cmp ecx, 0x42f954cc
jne 0x42271f
mov edx, dword [0x442b88]
mov eax, 0xcff5aa74
sub eax, edx
cmp eax, 0x689832c2
jne 0x422742
fld dword [0x46f080]
fadd dword [0x46af98]
fmul dword [0x46fee0]
fstp dword [0x46fee0]
jmp 0x422742
mov cx, word [0x4652b8]
movsx edx, cx
cmp edx, 0x761ff2d1
je 0x422742
mov eax, dword [0x43da1c]
mov ecx, dword [0x441584]
inc dword [0x441584]
mov ecx, dword [ebp + 0xc]
fld1
add dword [0x43f3b4], 0x47747e0
xor edx, edx
add ecx, 2
mov esi, 0x4c935fe9
push ebx
mov eax, dword [0x4465e0]
mov ebx, 0xfc443eef
sub ebx, eax
and ebx, 0x4c5e60b
cmp ebx, 0x3c109000
jg 0x422794
add dword [0x4462e0], edi
mov eax, dword [0x43fa48]
mov ebx, dword [0x4462e0]
add eax, 0xcb12a94a
add ebx, eax
mov dword [0x43fa48], ebx
mov eax, dword [0x444e18]
imul eax, eax, 0x506cbd26
mov dword [0x444e18], eax
movzx eax, byte [ecx - 2]
movzx ebx, byte [ecx - 1]
shl eax, 8
or eax, ebx
movzx ebx, byte [ecx]
shl eax, 8
or eax, ebx
movzx ebx, byte [ecx + 1]
shl eax, 8
or eax, ebx
mov dword [ebp + edx*4 - 0x130], eax
mov eax, dword [0x44176c]
cmp eax, 0x7e17fb19
je 0x4227e1
xor dword [0x442384], 0xeda07735
jmp 0x42280b
mov eax, dword [0x43e330]
mov ebx, dword [0x448084]
inc dword [0x43e330]
add eax, 0xd9eb0f57
and ebx, eax
cmp ebx, 0x83451849
jne 0x42280b
mov dword [0x444210], 0xf795e0c5
fld dword [0x469bc8]
fsub dword [0x46b4fc]
fld dword [0x471fbc]
fld dword [0x472510]
fmul qword [0x451178]
fsubp st(1)
fld qword [0x451178]
fadd st(3)
fstp qword [0x451178]
fld dword [0x471fbc]
fadd st(3)
fstp dword [0x471fbc]
fld dword [0x469bc8]
fsub st(3)
fstp dword [0x469bc8]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x42287f
fld qword [0x44fee8]
fmul qword [0x4507b8]
fadd dword [0x467ce8]
fadd dword [0x470688]
fstp dword [0x470688]
or dword [0x441b50], esi
inc edx
add ecx, 4
cmp edx, 0x10
jne 0x42275c
mov eax, dword [ebp + 8]
fstp st(0)
fld qword [0x459570]
add eax, 8
fmul qword [0x4576a8]
push 0x24
push eax
lea ecx, [ebp - 0x30]
fstp qword [0x459570]
push ecx
mov dword [ebp - 8], eax
call fcn.00414ba0
mov eax, dword [0x43c900]
not eax
imul eax, eax, 0x98c285eb
and dword [0x4411a0], eax
push 0x100
push 0x1e86
call fcn.0040d6f0
inc dword [0x446e0c]
mov edx, dword [0x446e0c]
add esp, 0x14
cmp edx, 0x40d48804
mov dword [ebp - 4], eax
jge 0x422923
fld dword [0x46ed98]
fadd dword [0x4698f8]
fadd dword [0x471848]
fstp dword [0x468ac0]
fld dword [0x46ed98]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x46ed98]
jmp 0x422925
fld1
lea eax, [ebp - 0x30]
xor edi, edi
sub eax, 4
lea esi, [ebp - 0x130]
mov dword [ebp + 8], edi
mov dword [ebp - 0xc], eax
sub esi, 8
add dword [0x445cb8], 0x4fa04415
cmp edi, 0xf
jle 0x4229df
mov ax, word [0x464bb0]
cwde
sub dword [0x441714], eax
mov eax, dword [esi]
mov ecx, 0xffffb826
mov word [0x462a2a], cx
mov ecx, dword [esi - 0x34]
mov edx, 0xfffff20f
mov word [0x461014], dx
add dword [0x43c4a4], 0x71964527
mov edx, eax
rol edx, 0xf
mov ebx, eax
rol ebx, 0xd
xor edx, ebx
shr eax, 0xa
xor edx, eax
mov eax, ecx
mov ebx, ecx
rol eax, 0xe
ror ebx, 7
shr ecx, 3
xor eax, ebx
xor eax, ecx
mov ecx, dword [0x442130]
add edx, eax
add edx, dword [esi - 0x38]
and ecx, 0xfe5be6e4
add edx, dword [esi - 0x14]
cmp ecx, 0xd3ef2e11
mov dword [esi + 8], edx
jle 0x4229df
mov edx, dword [0x442300]
mov ecx, dword [0x445bf0]
mov eax, 0x54546926
sub eax, edx
or ecx, eax
add dword [0x446f84], ecx
mov ax, word [0x4652f8]
movsx ecx, ax
mov eax, 1
add word [0x4652f8], ax
sub ecx, 0x2f09c131
cmp ecx, 0x887dc7ad
je 0x422a16
movzx edx, word [0x465d06]
add edx, 0x2d7badc8
mov word [0x465d06], dx
add dword [0x43d7ac], eax
mov ax, word [0x464190]
mov ecx, dword [0x43d7ac]
cwde
imul eax, eax, 0x2edf9c00
and eax, 0xe1e7fce5
xor ecx, 0xcf99f516
cmp eax, ecx
jne 0x422a61
mov dx, word [0x463fae]
mov ecx, dword [0x447800]
movsx eax, dx
mov edx, dword [0x4413c4]
sub eax, ecx
add edx, eax
mov word [0x463fae], dx
jmp 0x422a79
mov eax, dword [0x43db70]
not eax
cmp eax, 0xd7fa367d
jne 0x422a79
add dword [0x43f580], 0x280f2000
mov eax, dword [ebp - 0x20]
fld dword [0x468400]
mov ebx, dword [ebp - 0x1c]
fmul dword [0x4692b0]
mov ecx, eax
ror ecx, 0xb
mov edx, eax
rol edx, 7
xor ecx, edx
mov edx, eax
ror edx, 6
xor ecx, edx
mov edx, dword [ebp - 0x18]
xor ebx, edx
and ebx, eax
mov eax, dword [ebp - 4]
xor ebx, edx
add ecx, ebx
add ecx, dword [eax + edi*4]
mov eax, dword [ebp - 0x30]
add ecx, dword [esi + 8]
mov edx, eax
add ecx, dword [ebp - 0x14]
fstp dword [0x468400]
ror edx, 0xd
mov edi, eax
rol edi, 0xa
xor edx, edi
mov edi, eax
ror edi, 2
xor edx, edi
mov edi, dword [ebp - 0x2c]
mov ebx, edi
or ebx, eax
and ebx, dword [ebp - 0x28]
or dword [0x440578], 0xe3646127
fld dword [0x46a54c]
fld dword [0x46f794]
add dword [ebp - 0x24], ecx
fadd dword [0x468aec]
and edi, eax
or ebx, edi
add edx, ebx
fcompi st(1)
fstp st(0)
jbe 0x422b2c
fld dword [0x46fb2c]
fmul dword [0x46c97c]
fadd dword [0x4699f8]
fstp dword [0x4699f8]
fld dword [0x46c97c]
fadd st(1)
fstp dword [0x46c97c]
mov edi, dword [ebp - 0xc]
add edx, ecx
mov dword [ebp - 0x14], edx
mov ecx, 0xffffc368
mov word [0x46537e], cx
fld dword [0x468d88]
fadd dword [0x46bd60]
mov eax, 8
mov ebx, 0x978f0330
fstp dword [0x468d88]
add dword [0x43e924], 0x91afeecc
mov dx, word [0x4668f6]
movsx ecx, dx
lea edx, [ecx - 0x6522114c]
mov ecx, dword [0x43d2d4]
xor ecx, edx
mov edx, dword [0x444314]
imul edx, ecx
mov ecx, dword [edi + eax*4]
mov dword [ebp + eax*4 - 0x30], ecx
mov dword [0x444314], edx
xor dword [0x441618], ebx
sub eax, 1
jne 0x422b66
fld dword [0x46cc28]
fld dword [0x46aa0c]
fmul qword [0x450198]
fadd qword [0x44e130]
fld dword [0x46aa0c]
fsub st(3)
fstp dword [0x46aa0c]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x422bef
fld dword [0x469e4c]
fmul dword [0x46d588]
fadd qword [0x45faa8]
fadd qword [0x44f420]
fstp qword [0x44f420]
mov ax, word [0x46118c]
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
movsx ecx, ax
shl ecx, 9
inc edi
or ecx, 0x5fffafee
add esi, 4
mov dword [ebp - 0x30], edx
mov dword [0x445be0], ecx
mov dword [ebp + 8], edi
cmp edi, 0x40
jne 0x42293c
dec dword [0x442348]
fstp st(0)
mov edx, dword [0x440174]
mov eax, dword [0x442348]
mov ecx, dword [ebp - 4]
or edx, eax
push ecx
or edx, 0x2e3dc355
mov dword [0x440174], edx
push 0x100
call fcn.00435030
fld dword [0x468e80]
fld qword [0x45de10]
add esp, 8
fcompi st(1)
fstp st(0)
pop ebx
jbe 0x422c6f
add dword [0x44786c], 0x7db66bbf
mov ecx, dword [ebp - 8]
xor eax, eax
mov esi, 0xe254a2
mov edx, 0x683f7bd0
mov edi, edi
xor dword [0x43f9f0], esi
mov edi, dword [ebp + eax*4 - 0x30]
add dword [ecx], edi
and dword [0x440328], edx
inc eax
add ecx, 4
cmp eax, 8
jne 0x422c80
fld dword [0x468bf4]
pop edi
fsub dword [0x47191c]
pop esi
fadd dword [0x47214c]
fstp dword [0x47214c]
mov esp, ebp
pop ebp
ret