Function at 0x402d30
Capabilities:
Encrypt data using chaskey
Encrypt data using rc4 ksa
Hash data using murmur3

Disassembly:
sub esp, 0x400
push ebx
push ebp
push esi
push edi
and eax, ecx
shl bx, 8
neg eax
ror ebx, 0xa
or ax, cx
rol bx, 0xd
ror cl, 3
nop
and al, cl
rol ecx, 0xb
or bl, cl
dec ecx
xor al, cl
inc bx
shl al, 8
and bl, 0x16
shl cl, 8
sub eax, 0
rol bx, 0xd
and al, cl
xor ebx, eax
shl ecx, 0xe
sar cl, 0x13
add ax, 0
or eax, ecx
shl al, 0x16
add bl, 0x15
mov bl, bl
dec ax
neg bl
ror bl, 0xb
mov ecx, ecx
dec eax
inc cx
mov bl, bl
sar cx, 0xa
and eax, ecx
add al, 0x36
not cl
ror ax, 0x16
rol bl, 0xa
sar eax, 0x17
xor bl, cl
sub ax, cx
xor bl, al
sub bx, ax
shl ax, 4
nop
or bl, cl
sar ax, 0x10
or bx, 2
nop
shl bl, 0x15
not ebx
shl bx, 0x15
shl al, 0xd
add bl, 0xd
and ecx, 0xffffffff
sub eax, ebx
add cl, al
inc bx
and cx, ax
add bl, al
or cl, 0
neg bl
not bl
nop
sar eax, 0x1a
and eax, ecx
sar bl, 2
or cl, 0x15
sar al, 0x1b
or cl, 0
ror eax, 1
and cl, bl
xor edi, edi
sub al, 0
inc bl
or ecx, 1
sar eax, 0x14
nop
rol cl, 0xd
neg bx
sar ax, 4
add ecx, 0x5e
and ax, cx
ror bx, 8
xor cx, 0xcb
not bx
neg eax
rol cl, 1
sar ax, 0x14
neg bx
or bl, 0xf
shl bl, 6
add bx, 0x2a
and cl, al
inc ax
not bx
or cl, 0
shl bx, 5
ror eax, 3
neg ebx
rol ax, 0x17
dec ebx
xor al, 0x64
ror eax, 2
add cl, 0x81
add al, 0
shl eax, 0x16
dec eax
rol bx, 0x17
not bl
neg ecx
shl bx, 4
rol bx, 0xb
shl ax, 0x12
rol bl, 0xb
and bx, 0x12
sar bl, 0x15
and eax, ecx
sar bl, 0x1c
rol cl, 0x15
shl eax, 0x13
or ax, 6
rol cl, 1
shl al, 1
inc cx
rol bl, 0xf
sar eax, 7
sub bx, cx
shl eax, 0x12
nop
shl cx, 2
inc al
xor eax, 0x2f
rol cx, 0x12
or ax, 0
and ebx, eax
xor ax, bx
rol eax, 3
add al, cl
sar cl, 0x1a
add bl, al
and cl, 0x19
rol al, 8
shl cx, 7
sub bx, cx
inc eax
add cl, bl
ror al, 0xd
sub ebx, 0xc9
not eax
add bx, cx
ror cl, 0x11
inc bl
neg eax
inc bx
add bx, 0x9a
sar bx, 5
sub ax, cx
or bl, cl
rol ebx, 9
xor ecx, eax
sub eax, 0x55
dec bx
rol eax, 0x1a
or al, 0
ror cl, 0x15
add eax, 0
sub eax, 0
or bl, al
xor ebx, 0x4a
not bl
shl cx, 0x11
shl ecx, 0x15
nop
add al, bl
xor bx, 0x1a
and eax, 0xffffffff
and ecx, eax
or bx, 0
not cx
xor al, bl
inc ecx
shl ax, 5
inc eax
add bl, cl
xor cl, 8
and bx, ax
not cl
add bl, cl
neg eax
or cx, ax
inc ax
sar cx, 0xe
and bx, cx
nop
and cx, 2
sub al, 0
rol bl, 9
add cx, 0xb6
rol bx, 6
xor cl, 0x1c
sar eax, 0x19
ror cx, 0xb
and eax, 0xffffffff
rol ecx, 0xb
sub al, 0x95
shl ebx, 0x1d
sar eax, 0xc
not bx
neg ebx
sar eax, 0x1d
ror cx, 0xf
shl bl, 0x19
xor ebx, ecx
sar eax, 0x15
add ebx, ecx
inc eax
shl cl, 0x12
rol bl, 0x1e
nop
sar al, 0x1a
shl bl, 3
and cx, 0x16
sar bl, 0x18
add bl, 0x1a
and ebx, ecx
sar bl, 1
or bl, 0x17
and al, cl
rol ebx, 0x11
xor al, cl
sar bx, 0xf
ror bx, 0xc
sar bx, 0xf
dec cl
shl al, 0x11
sub bx, 0x1b
sub eax, 0
and bl, al
or ebx, ecx
ror bl, 0xc
inc al
add bx, 0xc9
and eax, ecx
ror al, 2
or bl, al
dec ebx
add eax, 0
sar ebx, 0x11
not bx
sar cl, 2
neg al
xor ecx, ebx
ror bl, 5
rol cl, 3
xor bx, 0xe6
sar cx, 1
dec eax
sar cx, 0xd
or bx, cx
rol al, 0x18
shl cl, 0x1a
xor eax, eax
mov dword [esp + eax*4 + 0x10], eax
inc eax
cmp eax, 0x100
jl 0x403011
sub bl, 0x2d
add eax, ebx
shl cl, 0x17
add ax, 0xb
mov bx, bx
sar eax, 6
sub ecx, 0
inc eax
sar bl, 1
neg ebx
sub cx, 0x1c
or eax, 0x11
add ecx, 0x75
add bx, 0
ror al, 0x12
rol bx, 1
shl bx, 0x1e
or eax, 0x1c
dec ebx
shl ecx, 0x17
sar bl, 0xf
rol al, 0xe
sub ebx, eax
mov eax, eax
dec bx
add bx, ax
add ebx, 0
or cl, bl
not al
or bx, 0x13
add cl, 0
add bx, 0x69
shl eax, 0x19
add eax, 0x113
dec eax
rol ebx, 1
sub bx, 0
or ax, 0x16
sub cl, bl
mov ax, ax
shl bl, 0x17
neg eax
not cl
shl eax, 0x15
or ebx, 0x1a
shl eax, 8
not eax
shl ecx, 0xc
mov bx, bx
shl cl, 4
sub eax, 0
rol cl, 0x1d
add ecx, 0x25
add cl, 0x91
add bx, 0
add cl, 0
sub eax, 0
dec bl
add ecx, 0x50
shl eax, 0x14
ror cx, 0x14
add bl, 0
sub eax, ecx
neg ecx
and cl, 3
mov ebx, dword [esp + 0x420]
mov ebp, dword [esp + 0x418]
xor esi, esi
lea ecx, [esi + 2]
lea esp, [esp]
xor edx, edx
mov eax, esi
div ebx
movzx eax, byte [edx + ebp]
add eax, dword [esp + esi*4 + 0x10]
add edi, eax
and edi, 0x800000ff
jns 0x403110
dec edi
or edi, 0xffffff00
inc edi
mov al, byte [esp + esi*4 + 0x10]
mov edx, dword [esp + edi*4 + 0x10]
mov dword [esp + esi*4 + 0x10], edx
movzx eax, al
mov dword [esp + edi*4 + 0x10], eax
xor edx, edx
lea eax, [ecx - 1]
div ebx
movzx edx, byte [edx + ebp]
add edx, edi
add edx, dword [esp + esi*4 + 0x14]
mov edi, edx
and edi, 0x800000ff
jns 0x403146
dec edi
or edi, 0xffffff00
inc edi
mov al, byte [esp + esi*4 + 0x14]
mov edx, dword [esp + edi*4 + 0x10]
movzx eax, al
mov dword [esp + esi*4 + 0x14], edx
mov dword [esp + edi*4 + 0x10], eax
xor edx, edx
mov eax, ecx
div ebx
movzx edx, byte [edx + ebp]
add edx, dword [esp + esi*4 + 0x18]
add edi, edx
and edi, 0x800000ff
jns 0x403179
dec edi
or edi, 0xffffff00
inc edi
mov al, byte [esp + esi*4 + 0x18]
mov edx, dword [esp + edi*4 + 0x10]
movzx eax, al
mov dword [esp + esi*4 + 0x18], edx
mov dword [esp + edi*4 + 0x10], eax
xor edx, edx
lea eax, [ecx + 1]
div ebx
movzx edx, byte [edx + ebp]
add edx, dword [esp + esi*4 + 0x1c]
add edi, edx
and edi, 0x800000ff
jns 0x4031ad
dec edi
or edi, 0xffffff00
inc edi
mov al, byte [esp + esi*4 + 0x1c]
mov edx, dword [esp + edi*4 + 0x10]
mov dword [esp + esi*4 + 0x1c], edx
movzx eax, al
add ecx, 4
add esi, 4
cmp ecx, 0x102
mov dword [esp + edi*4 + 0x10], eax
jl 0x4030f0
neg cx
or ecx, 0x1e
rol bx, 0x15
and ebx, eax
xor bx, cx
add bx, 0
or cl, 0
xor eax, 0xcf
shl bx, 0x12
mov cx, cx
not bx
sub al, bl
shl bl, 8
add bl, al
sar ax, 0x19
neg bl
and eax, 0xffffffff
rol cl, 8
nop
sub ax, 0
nop
xor bx, cx
rol cx, 0x10
not bl
inc ax
dec bx
and bl, 0xf
ror bx, 0x11
sar eax, 0x15
shl bx, 0x14
sar cl, 2
ror bl, 0x1a
sub al, bl
shl eax, 1
mov al, al
dec bl
add bx, 0
neg cl
add bx, ax
xor eax, ecx
mov cl, cl
sub ax, 0xac
or cx, 0x10
neg ax
and cl, 0x1e
ror bx, 0x17
sub cl, al
or al, 3
mov ebp, dword [esp + 0x41c]
mov edx, dword [esp + 0x414]
xor eax, eax
test ebp, ebp
jbe 0x4032c9
inc esi
and esi, 0x800000ff
jns 0x403281
dec esi
or esi, 0xffffff00
inc esi
mov ecx, dword [esp + esi*4 + 0x10]
add edi, ecx
and edi, 0x800000ff
jns 0x403297
dec edi
or edi, 0xffffff00
inc edi
mov ebx, dword [esp + edi*4 + 0x10]
movzx ecx, cl
mov dword [esp + esi*4 + 0x10], ebx
mov dword [esp + edi*4 + 0x10], ecx
mov ebx, dword [esp + esi*4 + 0x10]
add ebx, ecx
and ebx, 0x800000ff
jns 0x4032bc
dec ebx
or ebx, 0xffffff00
inc ebx
movzx ecx, byte [esp + ebx*4 + 0x10]
xor byte [eax + edx], cl
inc eax
cmp eax, ebp
jb 0x403270
sar cl, 0x16
shl ax, 9
inc eax
xor bl, al
sar bx, 7
sub cx, 0x36
sar eax, 0xc
mov cl, cl
add eax, 0xac
sub ebx, 0
neg bl
rol ebx, 0x16
sar eax, 0xa
or cl, 0x1a
sub bx, 0
and cl, 0xff
not bl
neg ebx
sar ecx, 9
shl bl, 0x1e
sub ebx, ecx
neg al
xor bx, ax
add bl, 0
not al
sar bx, 0x10
shl eax, 0x13
inc ecx
rol eax, 8
sub ecx, 0x26
sub bl, 0x65
nop
ror bx, 0x18
or eax, ecx
inc eax
shl al, 0x10
and ecx, eax
add cx, bx
or eax, ebx
or ecx, 0
shl cx, 0xa
ror bx, 0x17
shl bx, 1
rol eax, 0xb
inc ebx
and bx, cx
or al, bl
and bx, cx
inc cl
and al, 5
sub bx, 0
sar eax, 0xe
not bx
sar bl, 0xc
sub cl, 0xe1
shl bx, 0x1a
add bx, cx
not ax
or bx, ax
add eax, 0x1c
add bl, 0
or eax, ebx
shl cl, 0x1b
sub al, cl
rol bl, 0xa
not cx
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0x400
ret