Function at 0x403ee8
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
lea edx, [eax + 3]
shr edx, 3
cmp eax, 0xa2c
push ebx
mov cl, byte [0x4bb059]
ja 0x404148
test cl, cl
movzx eax, byte [edx + 0x4bb990]
lea ebx, [eax*8 + 0x4b7080]
jne 0x403f68
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x10]
mov ecx, 0xfffffff8
cmp edx, ebx
je 0x403f38
add dword [edx + 0x14], 1
and ecx, dword [eax - 4]
mov dword [edx + 0x10], ecx
mov dword [eax - 4], edx
je 0x403f58
mov byte [ebx], 0
pop ebx
ret
mov edx, dword [ebx + 0x18]
movzx ecx, word [ebx + 2]
add ecx, eax
cmp eax, dword [ebx + 0x14]
ja 0x403fbc
add dword [edx + 0x14], 1
mov dword [ebx + 0x10], ecx
mov byte [ebx], 0
mov dword [eax - 4], edx
pop ebx
ret
mov ecx, dword [edx + 8]
mov dword [ecx + 0xc], ebx
mov dword [ebx + 8], ecx
mov byte [ebx], 0
pop ebx
ret
mov eax, pe_nt_image_headers32
lock cmpxchg byte [ebx], ah
je 0x403f12
add ebx, 0x20
mov eax, pe_nt_image_headers32
lock cmpxchg byte [ebx], ah
je 0x403f12
add ebx, 0x20
mov eax, pe_nt_image_headers32
lock cmpxchg byte [ebx], ah
je 0x403f12
sub ebx, 0x40
pause
cmp byte [0x4bb989], 0
jne 0x403f68
push 0
call sub.kernel32.dll_Sleep
mov eax, pe_nt_image_headers32
lock cmpxchg byte [ebx], ah
je 0x403f12
push 0xa
call sub.kernel32.dll_Sleep
jmp 0x403f68
push esi
push edi
cmp byte [0x4bb059], 0
je 0x404000
mov eax, pe_nt_image_headers32
lock cmpxchg byte [0x4bbae8], ah
je 0x404000
pause
cmp byte [0x4bb989], 0
jne 0x403fc7
push 0
call sub.kernel32.dll_Sleep
mov eax, pe_nt_image_headers32
lock cmpxchg byte [0x4bbae8], ah
je 0x404000
push 0xa
call sub.kernel32.dll_Sleep
jmp 0x403fc7
movsx esi, byte [ebx + 1]
and esi, dword [0x4bbaf4]
je 0x40407c
bsf eax, esi
lea esi, [eax*8]
mov ecx, dword [eax*4 + 0x4bbaf8]
bsf ecx, ecx
lea ecx, [ecx + esi*4]
lea edi, [ecx*8 + 0x4bbb78]
mov esi, dword [edi + 4]
mov edx, dword [esi + 4]
mov dword [edi + 4], edx
mov dword [edx], edi
cmp edi, edx
jne 0x404050
mov edx, 0xfffffffe
rol edx, cl
and dword [eax*4 + 0x4bbaf8], edx
jne 0x404050
btr dword [0x4bbaf4], eax
mov edi, 0xfffffff0
and edi, dword [esi - 4]
cmp edi, 0x10a60
jb 0x4040cc
mov edx, edi
movzx edi, word [ebx + 6]
sub edx, edi
lea eax, [edi + esi]
lea ecx, [edx + 3]
mov dword [eax - 4], ecx
mov dword [edx + eax - 8], edx
call fcn.00403b00
jmp 0x4040d1
movzx ecx, word [ebx + 4]
mov edi, dword [0x4bbaf0]
cmp edi, ecx
jb 0x4040b0
mov esi, dword [0x4bbaec]
movzx ecx, word [ebx + 6]
lea edx, [ecx + 0xb30]
cmp edi, edx
jb 0x4040a0
mov edi, ecx
sub esi, edi
sub dword [0x4bbaf0], edi
mov dword [0x4bbaec], esi
jmp 0x4040d1
movzx eax, word [ebx + 6]
mov edi, eax
call fcn.00403bcc
mov esi, eax
test eax, eax
jne 0x4040d1
mov byte [0x4bbae8], al
mov byte [ebx], al
pop edi
pop esi
pop ebx
ret
and byte [edi + esi - 4], 0xf7
lea ecx, [edi + 6]
mov dword [esi - 4], ecx
xor eax, eax
mov byte [0x4bbae8], al
mov dword [esi], ebx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 1
mov dword [ebx + 0x18], esi
pushal
pushfd
not esi
shr esi, 1
xor eax, ebx
add esi, eax
call fcn.00403af8
rol esi, 0x1b
xor edx, eax
ror ebx, 0x16
and esi, edi
call fcn.00405491
inc eax
add esi, edi
rol edx, 0x19
xor eax, 0x2b76b44
ror esi, 0x18
or esi, edi
xor eax, eax
mov esi, 0x2aa060d1
rol ecx, 0xf
or edx, 0x1794d560
imul esi, dword [edi + 0x18cec102], 9
invalid
xchg esp, eax
pop ss
test eax, edi
jo 0x404115
mov eax, 0x1d2e5538
rol eax, 0xd
call fcn.004068f8
dec eax
mov ebx, esi
sub ebx, edx
rol esi, 0x1e
and esi, edi
shl ebx, 1
add eax, 0x189e0b0e
not edx
mov esi, eax
and esi, edi
xor esi, eax
add edi, esp
shl eax, 0x10
mov esi, eax
xor edx, esp
mov ebx, 0xbfe4b5
sub edx, 0x1aa7ae9e
rol edi, 6
neg edx
rol esi, 0xa
not esi
mov ecx, eax
xor eax, eax
mov edx, esp
rol esi, 7
mov ecx, esp
mov ecx, 0x804bb1
dec edi
inc esi
test edi, edx
jo 0x404190
dec eax
inc esi
xor edx, dword [0x4b923c]
adc eax, 0x4b923c
inc esi
or edx, dword [0x4b7ce8]
shl esi, 8
test ebp, esp
jo 0x40412b
xchg eax, eax
not esi
xchg esi, eax
loop 0x404187
mov esi, 0x16c9f58
not eax
mov ecx, eax
rol edx, 0x11
mov ecx, eax
not esi
dec esi
call fcn.00405161
add esi, eax
sub eax, 0x11b89698
mov esi, eax
add edx, eax
add eax, ecx
and esi, edi
ror esi, 0xa
mov edx, dword [0x4b7784]
test eax, esp
jo 0x404195
mov edx, eax
shr eax, 0x10
and ecx, dword [0x4b8d7d]
mov ecx, 0x4e5dbd
rol esi, 1
mov dword [0x4ba85a], 0x177ffc99
ror eax, 4
inc edi
mov dword [0x4ba890], edx
ror eax, 0xc
neg edi
mov dword [0x4baaac], edi
inc esi
xchg edx, esi
xor dword [0x4ba966], esi
xor eax, 0x4ba966
shr esi, 0x1c
mov dword [0x4ba92e], 0x14b03a76
loop 0x4041ee
shr esi, 0x18
inc ecx
shl eax, 0xe
mov edx, eax
sub eax, esp
test esp, edi
jb 0x404214
and esi, 0x23ac620
mov esi, esi
or ecx, 0x115c7606
and esi, edi
call fcn.00420f22
xor edi, eax
shl ecx, 0xc
sub esi, eax
xor edi, esi
add ebx, esp
inc eax
ror edx, 0x1e
xor esi, eax
mov edx, edx
call fcn.0040376f
not eax
call fcn.0040e061
invalid
invalid