Function at 0x47864f
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
mov edi, ebx
ror ebx, 6
inc ecx
dec ecx
sub esi, ecx
sub ebx, edi
shr ebx, 0xa
and edi, ecx
mov esi, ecx
rol esi, 0x15
mov ecx, 0xff84f469
jmp 0x477345
add dword [esp + 0x44], 4
mov edi, ebx
add ecx, esi
or ecx, ebx
add esi, 0xff85fa8c
shl ebx, 7
xor edi, ecx
xchg ecx, esi
or ecx, ebx
ror ecx, 0xe
jmp 0x476976
mov edx, dword [esp + 0x54]
xchg edi, esi
sub esi, edi
jmp 0x476b92
ret
pop edx
dec ebx
mov edi, esi
add ecx, 0xff992e1f
and ecx, 0xff9975c2
jmp 0x4784b5
mov edx, dword [edx]
sub esi, ebx
neg ebx
not ebx
or esi, 0xffa2bd29
rol esi, 0x14
xor esi, 0xffa33d18
add ebx, edi
add ecx, 0xffa3aae0
or ecx, 0xffa3e30f
and ebx, esi
xor edi, ecx
or esi, edi
jmp 0x4785e7
mov edx, dword [esp + 0x54]
and ecx, edi
or esi, edi
and ecx, edi
or ecx, ebx
xchg edi, ecx
dec ecx
jmp 0x47746b
mov edx, dword [esp + 0x10]
xor ecx, esi
sub esi, ebx
add ecx, 0xffa6aed8
add ecx, edi
neg edi
neg ecx
sub esi, ebx
add edi, ecx
add esi, ecx
or esi, ebx
xor esi, ebx
dec esi
mov edi, esi
inc ecx
jmp 0x476a4c
add esp, 0xf8
add esi, edi
mov ebx, 0xffa99e76
and edi, esi
inc ecx
not ecx
mov ecx, esi
xchg esi, ecx
shl ebx, 3
xchg edi, ecx
not edi
xor edi, ebx
inc esi
jmp 0x4758ff
movzx edx, word [edx]
bswap edi
inc esi
xchg esi, ecx
dec ebx
and esi, ecx
xchg ebx, ecx
xchg ebx, edi
rol edi, 0x1b
dec edi
mov ecx, esi
or ebx, ecx
jmp 0x4784ed
mov edx, dword fs:[edx]
dec ecx
mov ebx, ecx
mov esi, 0xffe7b52c
mov edi, ebx
ror edi, 1
rol edi, 0x1e
or edi, esi
xchg edi, ebx
and esi, 0xffe90300
and ebx, ecx
jmp 0x4773ec
mov edx, dword [esp + 0x44]
bswap edi
dec esi
mov edi, 0xfff36dd5
mov edi, ecx
mov ebx, edi
xor edi, ebx
sub edi, 0xfff45546
sub ebx, ecx
add ebx, edi
jmp 0x476a1d
mov dword [esp + 0xac], edx
add edi, ecx
sub ebx, edi
sub ebx, edi
xor ecx, ebx
shr edi, 3
and esi, ecx
or edi, 0x6d8a1
sub ecx, ebx
and esi, edi
xor ebx, edi
jmp 0x476617
mov dword [esp + 0x10], eax
neg ecx
xchg ecx, ebx
ror edi, 0xa
mov ebx, 0x19993e
xchg edi, esi
add ecx, esi
or edi, esi
xor edi, ebx
bswap ecx
jmp 0x476d84
add edx, dword [esp + 0x54]
and ecx, edi
rol ecx, 7
add ebx, esi
inc ebx
jmp 0x475a2b
mov dword [esp + 0x54], 0
not edi
add ebx, ecx
neg ebx
sub edi, ecx
and ecx, esi
and esi, edi
and ebx, 0x2b8ad4
and edi, esi
or ecx, esi
add esi, edi
xor esi, 0x2cf232
mov edi, ecx
mov ecx, esi
jmp 0x4771b2
mov edx, dword [esp + 0x44]
xor ecx, 0x2fef12
xor edi, ebx
or edi, ecx
dec edi
ror ebx, 0x15
mov ecx, edi
xchg ecx, ebx
jmp 0x477bff
push edx
inc esi
or ecx, 0x486147
add ecx, esi
mov ecx, edi
add edi, ebx
dec edi
shl esi, 0xd
mov ecx, esi
sub edi, esi
xchg ebx, esi
shr edi, 4
or ecx, 0x4b6156
add esi, 0x4b9ffe
jmp 0x476c68
mov dword [esp + 0x54], edx
add ecx, esi
inc edi
or esi, edi
or ecx, edi
shr esi, 0x1f
dec ebx
sub esi, 0x575ea2
xchg ebx, ecx
dec ebx
jmp 0x478142
mov edx, dword [esp + 0x90]
xor esi, edi
mov esi, ebx
xor esi, ecx
xchg ecx, ebx
xor edi, esi
inc esi
mov ecx, ebx
and ebx, ecx
jmp 0x47840e
mov eax, 4
sub ecx, ebx
inc ebx
sub esi, ebx
sub ecx, 0x78ea26
mov edi, 0x79299d
and ebx, ecx
not ebx
mov ecx, 0x79ee10
and esi, edi
jmp 0x475c69
mov dword [esp + 0x44], edx
dec edi
shl ebx, 0x1c
xchg esi, ecx
jmp 0x47631d
xor al, byte [edx]
nop
xor ecx, edi
or edi, ecx
or ebx, 0x9d4216
or edi, ebx
rol esi, 0xa
mov esi, 0x9dfcee
rol esi, 8
sub esi, 0x9e88ff
rol edi, 0x14
xor edi, ebx
jmp 0x477c1b
mov edx, 0x30
sub ebx, edi
and edi, 0x9f941a
neg ecx
sub ebx, edi
sub ebx, edi
not ebx
rol ebx, 0x17
jmp 0x475c85
add dword [esp + 0x44], eax
shr ecx, 0x1c
sub edi, ebx
sub ecx, esi
sub ecx, 0xafe0b2
xchg ecx, esi
jmp 0x476086
mov edx, dword [esp + 0x44]
shr ebx, 4
ror esi, 0x17
and ebx, esi
add ecx, edi
mov ebx, 0xc80042
inc ebx
nop
and esi, ebx
mov ecx, 0xc90861
shr edi, 0x12
jmp 0x4759ba
mov edx, dword [esp + 0x44]
or esi, 0xdf1286
neg edi
shr edi, 8
xchg ebx, ecx
xor edi, ecx
xchg edi, ecx
jmp 0x47819a
mov edx, dword [edx]
ror edi, 0xc
xor edi, ecx
shr ecx, 0xc
add ecx, edi
xor esi, 0xeb97c8
mov ecx, ebx
xchg esi, ecx
not esi
inc edi
mov esi, ecx
dec edi
xchg esi, ebx
sub ebx, edi
add esi, ecx
and esi, 0xee0f98
not esi
jmp 0x4784a4
mul edx
ror ecx, 0x12
and esi, edi
xor esi, ebx
and edi, ebx
sub edi, ecx
nop
xor esi, ebx
and ecx, 0xf06222
or esi, edi
xor esi, edi
xchg esi, ebx
or ebx, 0xf15996
jmp 0x475f5c
mov edx, dword [esp + 0x90]
shl ecx, 0x1b
or esi, ebx
add ebx, edi
and ecx, edi
and edi, ebx
neg edi
not ebx
jmp 0x476dce
add dword [esp + 0x44], edx
mov ebx, ecx
ror ebx, 0x19
add esi, ecx
mov ecx, ebx
mov ebx, 0x10bdf6c
sub esi, ecx
xor ebx, edi
shr esi, 0x13
jmp 0x4772f6
inc edx
xor ecx, edi
not edi
xor ecx, esi
add ecx, ebx
sub ebx, esi
bswap ecx
add ebx, ecx
mov ecx, edi
add esi, edi
add edi, 0x10f7afd
add esi, 0x10fbfb0
xchg ecx, edi
or edi, esi
xchg ebx, esi
inc ebx
jmp 0x478372
xor eax, eax
shl ecx, 8
sub edi, ecx
or esi, ecx
xchg ecx, edi
rol ebx, 0x1f
jmp 0x4765ed
add edx, 0x3c
neg esi
not esi
mov ebx, edi
sub edi, 0x12698c3
rol ecx, 0x10
rol ebx, 6
sub ebx, 0x127516d
shr ecx, 1
add ebx, 0x127d905
xchg esi, ebx
or ecx, ebx
or esi, 0x1288ba1
inc esi
jmp 0x47800f
sub dword [esp + 0x44], 8
nop
mov ebx, 0x1321c5b
or ecx, ebx
xchg edi, ecx
sub esi, edi
bswap edi
shl edi, 0xe
jmp 0x476832
mov edx, dword [edx]
mov edi, 0x136b88b
bswap ecx
add esi, ebx
neg esi
neg ebx
neg esi
sub ebx, 0x1383e45
xchg ebx, ecx
inc ebx
add esi, ecx
jmp 0x477a0e
mov dword [esp + 0x90], edx
xchg ecx, edi
or esi, 0x13985ee
add ebx, esi
shl esi, 0x1b
mov edi, ebx
add edi, 0x13a7abb
add ebx, 0x13ab82b
sub esi, 0x13af77a
or ecx, esi
sub esi, ecx
mov ecx, ebx
jmp 0x47750a
add edx, 0x18
shr ecx, 0xf
neg ecx
xchg esi, edi
add edi, ecx
xor esi, ecx
neg edi
or ebx, edi
or ebx, 0x141138e
dec esi
xor ecx, edi
add esi, edi
or ecx, ebx
jmp 0x477be0
jne 0x4765ed
add ebx, ecx
xchg esi, ebx
add ecx, 0x159c9e0
xor edi, 0x15a05a5
or ecx, ebx
rol ebx, 0x11
and ebx, ecx
inc ecx
xor esi, edi
rol esi, 0x14
add esi, ebx
jmp 0x475928
mov dword [esp + 0x44], 0
or esi, ecx
and edi, 0x17e6cb0
bswap ebx
and ebx, ecx
or ebx, edi
jmp 0x475e5b
mov edx, dword [edx]
mov edi, ecx
xchg ebx, ecx
xchg edi, esi
sub edi, esi
xor edi, ecx
and ecx, 0x1809676
sub ebx, ecx
bswap ecx
shr ebx, 0x1a
or esi, 0x181988b
sub edi, 0x181d580
xor edi, ecx
inc edi
xchg ebx, ecx
jmp 0x476e4e
mov edx, dword [edx]
add edi, 0x18e72b7
mov ebx, 0x18eaefe
inc ebx
mov ebx, edi
add edi, ebx
bswap esi
and ecx, ebx
mov ecx, ebx
sub ecx, esi
jmp 0x4771d0
add dword [esp + 0x44], 0x20
inc ecx
xor ebx, edi
or ecx, 0x194ac61
add ecx, 0x194eadc
nop
dec esi
neg ecx
mov esi, 0x195df21
shl ebx, 0x16
jmp 0x475d36
add edx, 0xc
ror ecx, 3
sub edi, 0x199246e
add ebx, ecx
sub ecx, 0x1999a7d
xchg esi, ecx
add esi, ebx
neg ecx
or esi, 0x19a9a96
and edi, 0x19ad73c
and edi, 0x19b142f
inc esi
neg edi
jmp 0x477c36
add edx, 0xc
bswap ebx
sub ebx, ecx
xchg esi, ecx
xor esi, 0x1a3d429
sub edi, 0x1a4112f
shr ebx, 0x11
shl ecx, 9
shl edi, 0xe
rol ebx, 9
mov esi, 0x1a55188
or ebx, edi
mov ebx, ecx
jmp 0x4757e0
add edx, dword [esp + 0x44]
and edi, ecx
and edi, ebx
rol esi, 0x17
jmp 0x477a44
mov eax, 2
inc edi
mov ebx, edi
dec ebx
jmp 0x475a01
jne 0x477d46
add edi, esi
add ebx, esi
add ecx, 0x1b8425a
and esi, 0x1b87e6f
and ecx, ebx
xor esi, ebx
xor ecx, ebx
xor esi, ecx
neg ebx
or esi, ecx
jmp 0x475801
mov dword [esp + 0x90], edx
xor ebx, esi
and ecx, edi
shr edi, 0x1b
mov ebx, 0x1c8357c
mov edi, 0x1c8829c
jmp 0x477d46
add edx, dword [esp + 0x54]
add edi, ebx
and esi, 0x202f25d
dec ebx
not ecx
xor ecx, esi
sub ebx, esi
jmp 0x476def
add edx, dword [esp + 0x54]
or edi, ecx
sub esi, ecx
or esi, ecx
shr ebx, 0xa
xchg ebx, edi
xchg edi, esi
shl ecx, 3
or edi, esi
jmp 0x47619d
mov edx, dword [edx]
and esi, 0x24809db
ror esi, 0x16
mov edi, 0x248844a
xor edi, 0x248c3b8
sub esi, ebx
xchg edi, ecx
or esi, ebx
sub esi, ecx
and edi, esi
or ecx, edi
shr esi, 0x1b
and esi, edi
jmp 0x47845f
mov edx, dword [edx]
shr esi, 0x14
add ecx, esi
xor ecx, ebx
mov ecx, 0x268e65a
sub ecx, 0x2691f01
ror ebx, 0xb
shl ebx, 0xc
jmp 0x476243
mov edx, dword [edx]
neg edi
xchg edi, ebx
shl esi, 0xf
rol esi, 0x1b
xchg edi, ebx
sub ebx, 0x26b0c85
inc edi
sub ecx, esi
jmp 0x475f7e
rol eax, 8
neg esi
add ecx, 0x26c0d3f
xor esi, ecx
sub esi, edi
rol edi, 2
add esi, ebx
xor ecx, esi
jmp 0x476bb3
mov edx, dword [edx]
and ecx, 0x26eade3
xchg ebx, esi
xchg ebx, edi
mov esi, ebx
dec ebx
xor ebx, ecx
jmp 0x4772aa
inc dword [esp + 0x10]
add edi, ebx
add ecx, esi
shr esi, 0x16
and edi, esi
or ecx, 0x2ac3798
xor edi, esi
or edi, ecx
neg esi
jmp 0x47853b
mov edx, dword [edx]
bswap esi
add esi, edi
nop
xor ebx, 0x2e3a618
xor edi, 0x2e3e3b6
xor edi, ecx
jmp 0x4780b8
mov dword [esp + 0x44], edx
mov esi, 0x2ed77eb
or esi, edi
add ecx, esi
and esi, 0x2ee28cb
inc ecx
add ebx, ecx
sub edi, ebx
add edi, ecx
neg ecx
and esi, 0x2efa054
jmp 0x478627
mov edx, dword [esp + 0x54]
not ebx
dec edi
or ecx, 0x2f7c52c
sub ecx, esi
sub ebx, ecx
sub ebx, edi
xor ecx, esi
xchg ebx, esi
add ecx, 0x2f93cc3
dec ebx
add edi, ecx
shr edi, 0x17
jmp 0x476cec
mov edx, dword [edx]
sub edi, 0x2fe64bc
or ebx, esi
inc edi
add esi, ebx
mov ecx, ebx
xchg edi, ebx
add edi, ebx
mov esi, 0x3001740
and esi, 0x3005579
ror ecx, 6
shr edi, 0x16
xchg ecx, ebx
or esi, ebx
rol edi, 0x1a
shr edi, 3
jmp 0x477925
cmp byte [edx], 0
jmp 0x476fb8
add edx, dword [esp + 0x10]
not edi
add ebx, ecx
xor ebx, esi
or ecx, esi
xor ecx, edi
sub ebx, edi
bswap edi
xor ebx, esi
mov edi, ecx
add esi, ebx
add ecx, ebx
neg ecx
or ecx, edi
mov esi, ebx
and edi, ebx
jmp 0x476411
mov dword [esp + 0x44], edx
xor esi, edi
mov ecx, ebx
and ecx, edi
and edi, ecx
add ebx, edi
dec esi
inc ecx
xchg ecx, edi
not esi
sub edi, esi
or ebx, ecx
dec edi
shr ecx, 0x1f
jmp 0x475847
add edx, dword [esp + 0x54]
add edi, esi
inc edi
sub ebx, edi
jmp 0x477607
cmp eax, dword [esp + 0xac]
jmp 0x477518
mul edx
or edi, 0x4965492
mov esi, ebx
dec ebx
neg edi
add ebx, 0x49755c9
mov ebx, esi
sub edi, ecx
xor edi, esi
add edi, esi
jmp 0x476705
add dword [esp + 0x90], 4
xchg edi, ecx
and edi, esi
xchg ecx, ebx
inc edi
and edi, ecx
sub ecx, 0x49c7590
and esi, ecx
xor ebx, esi
or ecx, ebx
not ebx
jmp 0x476b32
mov dword [esp + 0x10], 0
nop
rol ecx, 0x12
neg ecx
add esi, ebx
sub ebx, esi
shl edi, 0xf
and ebx, edi
shl ebx, 0x14
inc edi
jmp 0x4785fd
add edx, dword [esp + 0x54]
or edi, ebx
xchg ebx, edi
xor ecx, ebx
sub ebx, edi
mov ecx, ebx
jmp 0x4764a8
mov dword [esp + 0x90], 0
sub esi, edi
shl edi, 0x11
dec esi
or ecx, esi
xchg ecx, esi
shr esi, 4
add edi, ecx
add ebx, ecx
xor edi, esi
xor ecx, ebx
ror ebx, 3
mov esi, ebx
jmp 0x47603f
add dword [esp + 0x44], 0x78
or ecx, esi
rol ebx, 5
sub ecx, ebx
add edi, esi
xor edi, esi
sub edi, 0x4acdeb8
xchg ecx, edi
or ecx, esi
and ecx, 0x4ad8d80
jmp 0x4759ea
sub esp, 0xf8
inc edi
shl esi, 0xd
neg edi
bswap ebx
and ecx, esi
or edi, ecx
sub ecx, ebx
xchg ebx, ecx
sub edi, ecx
xor ebx, 0x4aff933
jmp 0x478599