Function at 0x46c31a
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x98], 4
and esi, ecx
mov edi, ecx
mov ecx, edi
add esi, ebx
sub esi, 0x14c8ed64
mov esi, ecx
add esi, edi
and ecx, edi
add edi, ecx
rol esi, 0x1b
sub edi, ebx
xor ebx, 0x14c9abda
jmp 0x46d99a
add dword [esp + 0x38], 0x78
dec esi
add esi, ebx
xchg edi, esi
xchg esi, edi
ror ecx, 0x1f
xchg edi, ecx
not ebx
or esi, edi
jmp 0x46e137
mov edx, dword [edx]
xor ecx, esi
sub edi, 0x14ed26fa
shr ecx, 2
xor ebx, 0x14ed5ef4
jmp 0x46c433
add edx, 0x3c
rol ebx, 7
or ecx, esi
add ebx, edi
mov ebx, ecx
sub ebx, esi
xor ebx, 0x14ee348e
add ebx, 0x14ee5174
add edi, ecx
jmp 0x46d6bc
mov dword [esp + 0x98], edx
and ebx, edi
ror ecx, 0x12
ror ecx, 0xf
shr ebx, 2
or esi, edi
or esi, edi
shl edi, 0x11
shl esi, 4
sub ecx, 0x14f2512a
xchg edi, ecx
not ebx
and edi, esi
neg ebx
xchg ebx, ecx
jmp 0x46e434
add dword [esp + 0x38], 0x20
sub esi, edi
or ebx, esi
or ecx, 0x14f9bbbe
xchg esi, ebx
rol ecx, 0xa
xchg ecx, ebx
add ecx, esi
add ecx, edi
bswap ebx
shl esi, 0x17
xor ebx, ecx
add edi, 0x14fade6c
shl edi, 5
mov ecx, 0x14fb1682
jmp 0x46c82f
inc edx
bswap ebx
rol edi, 1
mov ebx, esi
nop
jmp 0x46e616
sub esp, 0x108
sub ecx, 0x150ed22c
xor esi, edi
jmp 0x46e764
add edx, dword [esp + 0xa0]
dec ecx
add ecx, edi
xor esi, ebx
and ecx, esi
sub edi, ebx
inc ebx
jmp 0x46d91e
mov dword [esp + 0x38], edx
dec ecx
sub edi, ecx
add ecx, 0x151e31ec
add edi, esi
or esi, ecx
mov ebx, ecx
xor esi, ebx
shr ebx, 0x19
or esi, edi
shl edi, 0x14
neg esi
shl ecx, 0x10
jmp 0x46bba6
mul edx
and edi, ecx
add esi, ebx
or edi, 0x15262e38
add ecx, esi
and ecx, edi
add ecx, ebx
add esi, edi
sub ecx, 0x1526b254
jmp 0x46df99
mov edx, dword [edx]
sub edi, esi
bswap edi
xor ecx, 0x152a4252
mov ecx, ebx
mov edi, 0x152a7734
or ecx, esi
nop
or esi, 0x152ac93c
jmp 0x46e5b4
ret
mov edx, dword [esp + 0x38]
add edi, esi
xor ebx, 0x1538dbbc
shr esi, 4
or esi, 0x15391028
sub ecx, 0x15392c96
and ebx, edi
xor edi, esi
sub ebx, edi
xchg esi, ecx
sub esi, ecx
xchg edi, esi
inc edi
jmp 0x46d0f9
add edx, 0x18
xchg ebx, esi
rol ecx, 9
sub edi, ebx
xor ecx, edi
or edi, ecx
xor esi, 0x153beeda
add edi, esi
neg esi
rol ecx, 0x11
bswap edi
jmp 0x46d02c
mov eax, 2
and esi, 0x15449ee2
sub ecx, edi
or esi, ebx
mov ebx, ecx
rol ebx, 0xd
or ecx, esi
xor edi, 0x15453f8e
sub esi, ecx
mov edi, 0x15457918
add esi, 0x154595a8
and ebx, ecx
shl edi, 0x16
jmp 0x46ef94
mov edx, dword [esp + 0xa0]
and ecx, 0x155750c0
or edi, esi
or esi, edi
and edi, 0x1557bb46
or ebx, 0x1557dd66
xor edi, ecx
xchg ecx, edi
ror edi, 0x16
xor edi, esi
xor esi, ecx
xchg edi, ebx
and ebx, 0x1558cfe6
jmp 0x46df53
jne 0x46dbde
xchg edi, ebx
xor ebx, edi
shl esi, 6
and edi, ecx
and esi, 0x15595f9c
mov edi, esi
add ecx, esi
add ecx, edi
add ebx, ecx
not esi
sub ebx, ecx
shr edi, 7
xor esi, 0x155a37d2
or ebx, edi
jmp 0x46e67e
mov edx, dword [esp + 0xa0]
sub esi, edi
ror edi, 3
shr esi, 1
shr esi, 2
mov edi, esi
xchg ecx, edi
and edi, esi
and edi, 0x155d878e
xor edi, 0x155da3c0
or ecx, ebx
jmp 0x46bf52
mov dword [esp + 0x38], edx
add esi, ecx
add ecx, edi
xor ecx, edi
shl ebx, 0x1a
add esi, ecx
and edi, esi
jmp 0x46cbc6
rol eax, 8
add edi, ebx
inc edi
and esi, edi
and ebx, esi
xor edi, ecx
xchg esi, edi
xor edi, ebx
bswap ecx
jmp 0x46c30c
mov edx, dword [esp + 0x98]
add ecx, edi
mov ecx, ebx
shl esi, 0x11
or esi, ebx
mov ebx, ecx
xchg edi, ebx
or esi, ecx
ror ebx, 0x10
mov ebx, 0x1566d042
add esi, ebx
or ebx, edi
add esi, 0x15672182
jmp 0x46db8a
add edx, dword [esp + 0xa0]
shl ebx, 0xc
add edi, ecx
dec ebx
and edi, ebx
xchg esi, ecx
mov ecx, ebx
or esi, ecx
shl esi, 0x11
sub edi, esi
bswap esi
jmp 0x46e19a
mov edx, dword [edx]
xor edi, ebx
not ecx
dec ecx
sub ecx, 0x157b7fc0
or esi, ebx
sub ebx, edi
jmp 0x46eece
mov edx, dword [edx]
mov ecx, esi
xchg esi, ecx
neg esi
and esi, ecx
and ebx, ecx
or esi, edi
add esi, ebx
shr esi, 0xe
jmp 0x46df7a
mov edx, dword [edx]
dec edi
sub ecx, ebx
mov ebx, 0x15828e64
mov ebx, esi
sub ebx, edi
xchg ebx, edi
sub edi, ebx
neg edi
jmp 0x46cf68
jne 0x46e434
and ecx, edi
xchg edi, ebx
sub ecx, edi
and edi, esi
mov edi, ebx
add ebx, edi
sub edi, esi
bswap ecx
jmp 0x46d3e0
add dword [esp + 0x38], 4
and ebx, esi
shr ebx, 3
xor ebx, esi
and ebx, esi
sub esi, ebx
xchg ecx, esi
xchg ebx, edi
or esi, ebx
sub edi, ecx
or ecx, esi
and ebx, ecx
xor edi, ebx
xor ecx, edi
mov ecx, ebx
jmp 0x46eb2e
mul edx
add edi, 0x159912bc
nop
xchg esi, ebx
sub edi, 0x159966bc
mov ebx, esi
sub edi, ecx
inc ecx
ror edi, 0x1d
jmp 0x46e340
add edx, dword [esp + 0x38]
ror ebx, 0x1b
shl edi, 2
sub esi, 0x159b37b0
and edi, ecx
mov esi, 0x159b71ce
xor esi, 0x159b8d86
or edi, ecx
mov ecx, esi
add ecx, edi
or edi, esi
jmp 0x46ed6a
mov dword [esp + 0x38], 0
shr esi, 0x1d
shr esi, 0x1a
mov ebx, edi
sub ecx, 0x15a3d91a
nop
shr edi, 0x1d
add ebx, ecx
and edi, ebx
xchg edi, ecx
xor ecx, edi
jmp 0x46ef40
mov edx, dword [edx]
ror ecx, 0xa
xor ebx, ecx
inc edi
and esi, edi
and ebx, esi
and ebx, edi
xor edi, esi
xor esi, ecx
mov ecx, edi
shr ebx, 0x1d
jmp 0x46c4e1
mov eax, 4
add edi, esi
mov ebx, esi
xor esi, ebx
xchg ebx, edi
dec ebx
or ecx, edi
and ecx, 0x15b15940
xchg edi, ecx
xor ecx, edi
mov ebx, edi
sub edi, esi
and esi, edi
jmp 0x46ecc4
mov edx, dword [edx]
xor edi, esi
xor esi, ecx
xchg ecx, ebx
sub esi, 0x15bfb53a
xchg ebx, esi
sub esi, ecx
add esi, ecx
sub ebx, ecx
jmp 0x46e578
push edx
mov ecx, ebx
xor ebx, ecx
or esi, ebx
add ebx, edi
mov edi, ebx
add edi, ecx
neg ebx
sub ebx, 0x15c2bc3a
inc edi
rol esi, 0x13
jmp 0x46ee6a
mov edx, dword [esp + 0x98]
dec edi
mov ebx, ecx
sub ebx, esi
inc ecx
rol ebx, 0x1d
mov ecx, esi
dec ebx
xor esi, ecx
sub ebx, ecx
add edi, ecx
dec ebx
mov esi, ebx
or ecx, 0x15c79df2
xchg ebx, edi
jmp 0x46bf3a
add esp, 0x108
nop
xor esi, 0x15d1157e
mov ecx, esi
add ecx, edi
bswap ebx
xor ebx, ecx
neg ebx
or edi, esi
mov ecx, edi
and edi, esi
jmp 0x46c6d3
add edx, dword [esp + 0x50]
bswap ecx
sub ecx, esi
xor esi, edi
xor edi, 0x15d5bf8c
xchg esi, edi
or esi, ecx
xor esi, edi
and ebx, 0x15d62850
jmp 0x46d702
xor al, byte [edx]
mov edi, ebx
sub ebx, 0x15d7db4e
bswap edi
mov ecx, esi
xor ebx, 0x15d82a04
sub ecx, esi
xor edi, ebx
sub ebx, ecx
jmp 0x46cce9
mov edx, dword [esp + 0x38]
ror esi, 0x1f
neg ebx
add esi, 0x15df3d4e
rol esi, 0x10
shl ecx, 3
or ecx, edi
jmp 0x46d8c1
mov edx, dword [esp + 0x38]
or ebx, ecx
add ebx, 0x15f219d0
sub edi, ebx
add ebx, esi
and edi, ecx
or esi, edi
dec esi
and ecx, 0x15f2baec
xor ecx, 0x15f2d6f2
or ebx, 0x15f2f302
add ebx, esi
and ebx, edi
jmp 0x46e83e
add dword [esp + 0x38], edx
shr esi, 0x1a
or ebx, edi
shr edi, 0x15
shr ecx, 5
xor ebx, 0x15f3bdac
mov ebx, edi
mov ebx, ecx
bswap edi
and esi, ecx
xor ebx, ecx
jmp 0x46c0b6
add edx, dword [esp + 0xa0]
and ebx, esi
xchg ebx, esi
bswap esi
dec edi
jmp 0x46bfbd
cmp eax, dword [esp + 0xb8]
jmp 0x46d1da
add dword [esp + 0x38], eax
shr edi, 0x1b
xor esi, 0x15f4fdee
xor ecx, ebx
dec esi
xor edi, ebx
sub edi, ebx
or edi, ecx
xor esi, 0x15f5a398
rol ebx, 0x1c
xor edi, 0x15f5dbbc
jmp 0x46df20
mov edx, dword [esp + 0xa0]
or esi, ebx
and ebx, edi
dec esi
ror ecx, 0xc
shr ebx, 0xa
sub edi, 0x16030c92
xor edi, esi
add ecx, esi
add ebx, 0x1603611c
sub ebx, 0x16037d56
jmp 0x46d44d
mov dword [esp + 0x98], edx
xchg esi, ecx
or edi, ebx
jmp 0x46c97e
mov edx, dword fs:[edx]
or ebx, esi
bswap ecx
mov ebx, edi
mov ebx, ecx
sub edi, ebx
inc ebx
or ebx, ecx
or ebx, 0x160ec3de
add ebx, esi
neg ebx
sub ebx, 0x160f12be
mov esi, edi
jmp 0x46e6d9
mov dword [esp + 0x50], eax
add esi, 0x161406c2
sub edi, ebx
jmp 0x46f084
inc dword [esp + 0x50]
shr ecx, 0xc
mov edi, esi
and ebx, 0x161ba844
xchg ebx, esi
or edi, esi
xchg ecx, ebx
sub ecx, ebx
and edi, ecx
ror ebx, 3
and edi, ebx
and ebx, edi
xor ecx, 0x161c9ce6
jmp 0x46baea
add edx, dword [esp + 0xa0]
dec ecx
sub ecx, 0x16253646
xor esi, edi
add ebx, edi
jmp 0x46ef23
mov edx, dword [edx]
neg ecx
sub esi, ecx
ror esi, 0xb
ror esi, 0xc
shr ecx, 0x16
mov edi, 0x162745ea
jmp 0x46f06c
cmp byte [edx], 0
jmp 0x46cbfb
pop edx
or ecx, esi
mov ebx, 0x162df82e
sub ecx, edi
sub ecx, edi
ror ebx, 5
rol edi, 0x17
shl esi, 3
neg ebx
xchg ebx, ecx
xchg edi, esi
xchg esi, ecx
xor ecx, esi
jmp 0x46df8d
add edx, dword [esp + 0xa0]
xor esi, ecx
shr edi, 0x1d
bswap esi
or edi, ebx
jmp 0x46daeb
add edx, 0xc
not ecx
xchg ecx, ebx
dec ecx
mov ebx, 0x1630b95c
or ebx, esi
neg edi
mov ebx, ecx
bswap edi
jmp 0x46e966
mov dword [esp + 0x50], 0
mov ecx, esi
dec ebx
xor esi, ecx
shr edi, 0x14
jmp 0x46ec44
mov edx, 0x30
sub ecx, 0x163b3c6a
xor ebx, ecx
neg ebx
inc edi
bswap ecx
mov ebx, edi
mov edi, ebx
rol ebx, 0xc
inc esi
xchg ebx, ecx
add esi, edi
not edi
jmp 0x46e2ab
mov edx, dword [edx]
xchg ebx, esi
xchg edi, ebx
xor edi, ecx
and ebx, ecx
dec esi
ror ecx, 5
xor ebx, esi
dec ebx
jmp 0x46e6c4
mov edx, dword [edx]
not ebx
xchg edi, esi
mov ecx, 0x16464864
and ecx, edi
add ecx, ebx
ror edi, 0x1f
mov edi, esi
and edi, ebx
jmp 0x46efc1
mov edx, dword [esp + 0x38]
add ecx, edi
and esi, ebx
or ecx, esi
and edi, ebx
and ebx, edi
ror esi, 0x1e
mov edi, ecx
not esi
bswap ebx
dec esi
or esi, ecx
and edi, 0x165685c0
jmp 0x46d123
mov dword [esp + 0x98], 0
ror esi, 0x15
shr ecx, 8
xor ebx, 0x165e8d70
xchg edi, esi
shl esi, 0x16
sub edi, 0x165ee26c
jmp 0x46ee05
movzx edx, word [edx]
rol ebx, 8
xchg esi, ebx
mov edi, ecx
sub ecx, 0x1662291a
and edi, esi
and ecx, esi
bswap esi
ror edi, 0x14
jmp 0x46c5e1
mov edx, dword [edx]
or edi, ecx
xor ebx, edi
dec ecx
and ebx, edi
xor edi, esi
sub ebx, edi
mov esi, edi
inc ebx
jmp 0x46ccb8
mov dword [esp + 0xa0], 0
mov esi, 0x166bbd8e
xor ecx, ebx
neg ecx
mov esi, ecx
jmp 0x46d55f
xor eax, eax
and ebx, ecx
sub ecx, edi
and ecx, ebx
or edi, esi
xor edi, 0x166ecb1a
add edi, 0x166eeb4c
mov esi, 0x166f0400
or edi, ecx
jmp 0x46dbde
mov dword [esp + 0xa0], edx
rol edi, 0x16
add ecx, ebx
jmp 0x46cc73
mov dword [esp + 0x38], edx
neg edi
and ebx, esi
dec edi
add esi, ecx
xchg ebx, edi
ror ebx, 9
shl edi, 0x1e
sub ecx, ebx
jmp 0x46cd79
mov dword [esp + 0xb8], edx
xor ecx, esi
or edi, ebx
sub ecx, edi
mov esi, 0x16757824
or ecx, ebx
add esi, 0x1675af1a
and ecx, 0x1675cf18
and ebx, edi
add esi, ecx
sub ebx, ecx
inc ecx
or edi, 0x1676561e
jmp 0x46e819
mov edx, dword [esp + 0x50]
xor esi, ebx
or edi, esi
sub esi, edi
ror edi, 5
xchg ecx, ebx
sub ecx, ebx
mov ebx, 0x16795962
mov edi, ebx
shl ecx, 0x18
mov esi, ecx
or esi, 0x1679c7d0
add ecx, ebx
jmp 0x46d40a
add edx, 0xc
sub esi, edi
or ebx, esi
mov edi, esi
and edi, ebx
add ecx, edi
and esi, ecx
inc edi
or ecx, 0x167abd10
add ebx, edi
and edi, esi
or edi, ebx
sub ecx, edi
mov edi, esi
or ecx, edi
jmp 0x46c669
mov edx, dword [edx]
rol esi, 0x11
shl ecx, 0xc
mov ecx, 0x167f8674
add ebx, 0x167fa640
jmp 0x46c891
sub dword [esp + 0x38], 8
xchg edi, esi
sub edi, esi
sub ebx, esi
sub edi, ebx
inc ebx
shr edi, 0xa
sub esi, ecx
dec esi
or esi, edi
ror ecx, 9
jmp 0x46dcc2