Function at 0x478a8b
Capabilities:
Encrypt data using chaskey

Disassembly:
movzx ebx, word [ebx]
and esi, edx
mov ecx, edx
add ecx, esi
xchg esi, edi
or edx, ecx
bswap edx
mov edi, esi
xor esi, edi
xor edi, ecx
xor edi, esi
xchg edi, ecx
ror esi, 5
sub esi, edx
jmp 0x477108
mov ebx, dword fs:[ebx]
inc edi
xchg esi, ecx
xchg esi, edi
inc esi
sub esi, ecx
mov edi, esi
and ecx, edi
and esi, 0xfa5c17bc
xchg esi, ecx
jmp 0x47615f
mov dword [esp + 0xa8], ebx
sub edx, ecx
mov edi, ecx
or esi, 0xfa74b5a5
or esi, edi
shl esi, 0x11
xchg esi, edx
xor ecx, edx
rol ecx, 0xd
not edx
bswap esi
inc esi
not edi
xchg esi, ecx
xchg edx, edi
jmp 0x475c4c
add dword [esp + 0xa8], 4
sub edx, 0xfa77dd43
inc edx
mov edx, esi
jmp 0x47843f
xor eax, eax
and esi, 0xfa86525e
rol edx, 2
ror edx, 0xa
dec edi
xchg ecx, edx
and edx, ecx
shr edi, 0x19
sub edi, esi
xor edx, edi
jmp 0x476eec
add dword [esp + 0xa8], 0x78
or edi, ecx
sub edi, esi
or edi, 0xfa912cab
mov edi, ecx
xchg edi, esi
sub edi, esi
sub ecx, edi
bswap ecx
or ecx, edi
ror esi, 0xf
jmp 0x4778b2
add ebx, 0x18
and edx, ecx
xchg esi, ecx
bswap esi
add esi, ecx
sub ecx, 0xfaa57df7
and edx, 0xfaa5cece
xchg ecx, edx
not edi
and edi, ecx
jmp 0x476f28
mov ebx, dword [esp + 0x48]
sub esi, ecx
xor ecx, 0xfaa7ce1f
mov esi, edi
jmp 0x4776a8
mov dword [esp + 0x124], eax
and esi, 0xfaa87482
sub ecx, 0xfaa8b379
mov esi, 0xfaa8f368
or edi, 0xfaa934ea
or ecx, esi
not ecx
inc edx
add edi, esi
and ecx, 0xfaaa8325
inc ecx
xor ecx, esi
and edx, ecx
and edi, esi
add esi, 0xfaabbf7c
jmp 0x477839
add ebx, 0xc
ror edx, 0x1b
xchg esi, edi
ror edx, 0x13
mov edi, ecx
or edx, esi
add esi, edx
shr edi, 8
xchg edi, edx
jmp 0x4765a3
mov ebx, dword [esp + 0xa8]
sub ecx, 0xface07da
mov edi, ecx
add edx, ecx
sub edx, esi
and edi, edx
or esi, ecx
shl esi, 9
bswap edx
bswap edx
xchg ecx, edi
jmp 0x476425
mov ebx, dword [esp + 0xa8]
sub edx, ecx
xor ecx, 0xfad70d54
or edx, esi
and esi, 0xfad79909
add ecx, esi
or ecx, edx
bswap ecx
shr edx, 0xa
mov esi, 0xfadb874f
sub ecx, esi
shl ecx, 0x1d
jmp 0x478293
mov dword [esp + 0xa8], ebx
sub ecx, esi
shl esi, 0x12
add ecx, edi
dec edi
xor edi, edx
add edx, ecx
xchg ecx, esi
neg ecx
jmp 0x476065
mov ebx, dword [esp + 0x48]
xor edi, esi
mov edx, edi
or esi, edx
xchg ecx, esi
xor edx, ecx
bswap edx
and edx, ecx
and ecx, esi
and ecx, edi
xchg ecx, esi
mov esi, ecx
sub edx, edi
shr edx, 5
mov edx, 0xfae6e845
jmp 0x477b29
mul ebx
xchg edi, ecx
mov edi, esi
or edx, 0xfaf1308a
sub edx, esi
mov esi, edx
sub ecx, edi
xor edi, esi
neg edx
xor ecx, edi
xor esi, edi
xor edi, esi
add esi, 0xfaf36604
xchg edi, esi
jmp 0x475d99
add ebx, 0xc
xor esi, edx
xor esi, edi
mov ecx, esi
xor esi, ecx
or ecx, 0xfaf64b0c
xor edx, ecx
and edi, edx
or edx, ecx
bswap edi
and edx, edi
ror esi, 0x1e
add esi, edx
add edi, 0xfaf846f0
xchg ecx, esi
jmp 0x477ad0
add ebx, dword [esp + 0x48]
not ecx
or edi, esi
mov ecx, 0xfb0b9af9
xor ecx, edx
mov ecx, esi
xchg edi, ecx
sub ecx, edi
rol ecx, 1
or edx, ecx
jmp 0x4768ea
mov dword [esp + 0x124], 0
and ecx, edi
or edx, 0xfb0da986
mov ecx, edi
xor esi, edx
and edx, edi
xchg edx, ecx
xchg ecx, esi
inc ecx
mov edx, 0xfb0fe41a
or esi, ecx
or edx, ecx
mov edx, edi
jmp 0x47772a
cmp byte [ebx], 0
jmp 0x4777b1
mov eax, 2
add edi, esi
sub esi, edi
add edi, ecx
neg edi
xor esi, edx
add esi, edi
ror esi, 0x10
mov edx, ecx
or ecx, esi
xchg edx, esi
jmp 0x478455
mov ebx, dword [ebx]
shr edi, 0xc
or ecx, edi
add edx, ecx
bswap edi
or ecx, 0xfb6141a9
or esi, 0xfb617f56
bswap esi
mov edx, edi
jmp 0x476470
add ebx, dword [esp + 0x48]
xor ecx, 0xfb72f3e5
xchg edi, ecx
sub edi, esi
mov edx, ecx
shr edi, 0x12
xor ecx, edi
and edi, 0xfb880a94
sub edx, esi
jmp 0x476572
add esp, 0x14c
xchg ecx, edx
add edx, 0xfb995f6d
xor edi, 0xfb999ffa
sub esi, edi
or esi, edi
sub edi, esi
and edx, 0xfb9a9847
ror edi, 0x1b
sub edx, ecx
xor esi, edx
mov ecx, edi
rol ecx, 8
jmp 0x478554
mov ebx, dword [ebx]
rol edi, 0x18
shr ecx, 0x13
and edi, esi
add edi, edx
mov ecx, 0xfb9d3b70
mov edi, ecx
and esi, ecx
jmp 0x4785ca
mov ebx, dword [ebx]
shl edi, 0xf
and edi, 0xfba5a884
shl edx, 0xd
mov edi, 0xfba633d3
dec esi
add edx, edi
xor edx, 0xfba6fcd4
neg esi
and esi, edx
xchg edi, edx
sub ecx, edi
or edi, ecx
not edx
mov edi, edx
mov edx, ecx
jmp 0x47675f
inc ebx
add edx, edi
xor ecx, edi
sub ecx, 0xfbbcc443
and edi, edx
ror edx, 0xf
xor ecx, 0xfbbd9649
add ecx, 0xfbbdd834
add esi, edx
xor edx, edi
and ecx, esi
not edx
and esi, ecx
and esi, 0xfbbf6ccb
and esi, edx
jmp 0x476307
add ebx, dword [esp + 0x48]
or edx, edi
not edi
rol edx, 3
or edi, 0xfbc4b751
add edx, 0xfbc4f650
xor edi, ecx
neg edi
sub edi, esi
shl ecx, 0x1c
jmp 0x476906
mov dword [esp + 0xa8], ebx
and esi, edx
shr esi, 5
mov edi, esi
not edx
or edx, 0xfbdd7da2
and ecx, edx
xor edx, ecx
jmp 0x4773b1
push ebx
xor ecx, edi
sub ecx, edi
mov esi, ecx
bswap ecx
mov esi, edi
not edi
xchg ecx, edx
not ecx
xor esi, edi
xor ecx, esi
or ecx, edi
jmp 0x475bc6
mov dword [esp + 0xb0], ebx
ror ecx, 5
neg ecx
bswap esi
jmp 0x477de4
mov ebx, 0x30
xchg esi, edx
or edx, edi
sub edi, 0xfbf01974
shl ecx, 0x1c
or edi, edx
ror esi, 0xa
jmp 0x47599b
mov ebx, dword [ebx]
mov ecx, esi
add esi, ecx
mov edi, ecx
xchg ecx, esi
or ecx, edx
xor ecx, 0xfbf6494e
ror ecx, 0xd
shr esi, 0x14
shr esi, 0x11
mov esi, 0xfbf7472e
jmp 0x475d4f
mov ebx, dword [esp + 0xb0]
inc ecx
or edx, esi
mov ecx, edx
inc esi
or esi, 0xfc068762
add ecx, 0xfc06d6de
or edi, edx
and edx, ecx
add ecx, edx
and edi, edx
xchg edx, esi
add edi, edx
jmp 0x478159
add ebx, dword [esp + 0x48]
dec edi
add edi, 0xfc094bcd
xchg edi, esi
xor edx, 0xfc09c8ae
and ecx, edx
xor edi, edx
xor edi, ecx
or esi, ecx
mov ecx, edi
xchg edi, esi
xchg edx, esi
jmp 0x477801
mov ebx, dword [ebx]
sub edx, edi
xor edi, esi
inc edi
sub edi, esi
add edi, esi
xor ecx, edi
xchg esi, edi
jmp 0x476005
xor al, byte [ebx]
sub edi, edx
mov esi, ecx
mov edx, 0xfc565b73
not edi
mov ecx, edx
bswap edx
or esi, ecx
jmp 0x47821c
mov ebx, dword [ebx]
xor edi, esi
xchg esi, edx
mov edx, 0xfc5b3818
sub ecx, 0xfc5b888d
rol edi, 1
xchg esi, edx
mov edx, ecx
shl ecx, 8
rol edx, 0x10
mov esi, edi
not edi
and edx, 0xfc5d98ff
inc ecx
neg esi
mov edi, 0xfc5e5f23
add esi, ecx
jmp 0x476fb3
mov dword [esp + 0x48], ebx
mov edx, ecx
xor edx, edi
add esi, edi
mov edx, ecx
mov edi, edx
and esi, edi
or edx, edi
add esi, edx
xchg edi, edx
bswap edx
jmp 0x475d83
add ebx, dword [esp + 0x48]
shr edx, 2
add esi, 0xfc751fa5
or edi, esi
add ecx, 0xfc7597ea
sub ecx, esi
xor ecx, 0xfc761014
rol ecx, 0x16
xor esi, ecx
ror edx, 0x13
and ecx, edi
shr edx, 0xe
or edx, esi
xchg ecx, edx
ror ecx, 3
jmp 0x4768cb
mul ebx
sub ecx, 0xfc7cfef4
and edi, ecx
xchg esi, edx
ror esi, 0x1a
sub edx, esi
jmp 0x477878
add ebx, dword [esp + 0x124]
and esi, ecx
xchg esi, edi
and edx, edi
and ecx, edx
rol edx, 0xd
add edx, 0xfc8a1712
or edi, esi
mov edi, esi
dec edx
and edx, 0xfc8b1c51
xor edx, esi
neg edx
jmp 0x47795c
jne 0x477de4
nop
mov edx, 0xfcb309f9
and edi, 0xfcb348bb
xor edi, esi
xor ecx, edx
jmp 0x475aec
pop ebx
inc ecx
mov esi, edi
add esi, ecx
jmp 0x4775f1
mov ebx, dword [esp + 0xb0]
sub edi, 0xff245237
and edi, edx
and edi, esi
add edi, esi
and esi, 0xff2677d4
add esi, ecx
rol ecx, 3
jmp 0x4771a4
cmp eax, dword [esp + 0xdc]
jmp 0x4772ab
add ebx, 0x3c
dec esi
or esi, edx
add esi, ecx
xor edi, esi
sub ecx, esi
ror edx, 0x12
rol ecx, 0x10
xchg ecx, esi
jmp 0x478808
mov dword [esp + 0xb0], 0
or esi, ecx
or edx, esi
add edi, 0xffdbbeb9
xor ecx, edx
inc esi
jmp 0x478b45
jne 0x476eec
sub esi, ecx
and edi, ecx
add esi, edi
xor edx, 0xfff854d1
bswap esi
and esi, 0xfff9ceb7
jmp 0x477383
mov dword [esp + 0xb0], ebx
and edx, ecx
sub edx, esi
ror ecx, 3
xor edx, 0x855b8
neg edx
add esi, 0x9ff1a
sub edx, 0xabb1d
add esi, edx
xchg ecx, esi
xchg edx, ecx
and edx, esi
ror edi, 0x12
add edx, 0xf0b34
jmp 0x476371
sub dword [esp + 0xa8], 8
xchg esi, edi
or esi, edx
or ecx, edx
mov edx, ecx
dec esi
and esi, edi
jmp 0x475fd6
add dword [esp + 0xa8], eax
sub ecx, edi
sub esi, edi
add edi, ecx
xor ecx, esi
dec esi
or edi, esi
or edi, edx
xor edi, edx
and edx, edi
jmp 0x475f9c
mov ebx, dword [esp + 0x48]
rol ecx, 0xe
add edi, esi
and esi, 0x2c669b
jmp 0x4789a4
mov eax, 4
or edi, esi
add esi, edx
sub edx, 0x75d02b
and edi, esi
neg edi
mov ecx, esi
add edi, esi
mov edi, ecx
mov edx, ecx
neg esi
xchg edx, esi
add edi, 0x1150717
or edx, ecx
and edi, edx
jmp 0x47586e
add dword [esp + 0xa8], 0x20
neg edi
not esi
or edx, ecx
jmp 0x477da1
mov ebx, dword [ebx]
and edi, edx
shr edx, 0x17
bswap edx
sub edi, ecx
not edx
not esi
add ecx, 0x162abed
add esi, ecx
or esi, ecx
mov edi, edx
jmp 0x475efd
add dword [esp + 0xa8], ebx
rol ecx, 0x1d
sub esi, 0x16b1a05
inc ecx
xchg ecx, esi
ror edi, 6
jmp 0x4779eb
mov ebx, dword [ebx]
and edi, ecx
sub edi, edx
xchg esi, edi
mov ecx, edx
sub edi, esi
add edx, esi
or ecx, edi
xchg edx, edi
xchg edi, ecx
shl ecx, 0x13
not ecx
xor edi, 0x1f05569
jmp 0x476b10
mov ebx, dword [esp + 0xa8]
xor edx, 0x2549da1
mov ecx, 0x255576e
bswap edx
or esi, edx
not ecx
jmp 0x476627
inc dword [esp + 0x124]
shr ecx, 7
sub esi, edi
add esi, edi
add edx, esi
and esi, edi
and esi, 0x264cc96
ror edi, 0xf
xchg edx, ecx
or edx, esi
xchg ecx, edi
jmp 0x477feb
add dword [esp + 0xb0], 4
ror esi, 0x1b
xor edx, esi
mov edi, esi
or edx, esi
bswap edi
or ecx, esi
mov edi, ecx
jmp 0x476ae6
mov ebx, dword [ebx]
shl ecx, 2
xor edx, edi
add esi, edx
xchg esi, edx
jmp 0x47629b
rol eax, 8
add ecx, esi
or edx, esi
xchg esi, edi
add esi, edx
not esi
or esi, edx
xchg edi, edx
jmp 0x47672c
mov ebx, dword [ebx]
xor edx, 0x38ce390
rol ecx, 4
add ecx, edi
sub ecx, edi
rol ecx, 5
xchg edx, esi
shl esi, 0x1c
sub edx, edi
and edx, esi
jmp 0x47707d
mov ebx, dword [esp + 0xa8]
rol ecx, 0x1e
inc ecx
or edx, esi
sub edi, esi
not edx
jmp 0x477c75
mov ebx, dword [esp + 0x124]
shl edx, 0x15
and edx, 0x3eddd17
add edx, ecx
shl edx, 7
and edx, esi
add esi, edx
xor edi, edx
jmp 0x476122
ret
mov ebx, dword [ebx]
add ecx, edx
xchg edi, edx
inc edi
bswap edx
nop
not edx
or edi, edx
and edx, edi
bswap edi
jmp 0x476a1b
mov ebx, dword [ebx]
nop
or esi, edx
sub esi, edx
ror edi, 0x10
shl edi, 0xa
add esi, 0x4c87b40
xor ecx, esi
or edi, esi
jmp 0x475abf
add ebx, dword [esp + 0xa8]
ror edx, 0x16
sub edx, edi
add edi, ecx
mov edx, esi
shl edi, 0x14
ror esi, 7
shl ecx, 0x12
add ecx, 0x51adbc7
not edx
xor esi, edi
and edi, edx
jmp 0x476ce0
sub esp, 0x14c
dec edx
mov edi, esi
bswap esi
xchg esi, ecx
inc esi
sub edi, ecx
xor ecx, edx
add ecx, esi
sub edi, esi
jmp 0x4762bd
mov dword [esp + 0xa8], 0
xchg esi, edx
and edx, ecx
xor ecx, 0x545c8b2
shl ecx, 0xa
neg ecx
or edi, ecx
mov edi, esi
add esi, edi
shr ecx, 4
inc edi
xor edi, esi
xchg esi, edi
jmp 0x478b0d
mov dword [esp + 0xdc], ebx
xchg ecx, edi
or esi, ecx
sub ecx, edx
sub ecx, edx
add edi, esi
jmp 0x4769d7
mov dword [esp + 0x48], 0
sub edi, ecx
mov edi, esi
add ecx, 0x55ab543
xor edx, edi
xchg edi, edx
neg edx
sub edx, edi
bswap ecx
jmp 0x478aa6