Function at 0x478b40
Capabilities:
Encrypt data using chaskey

Disassembly:
inc ebx
mov esi, ecx
and esi, ecx
xor ecx, edx
sub edi, 0x789a7c60
sub esi, edi
mov edx, 0x789b03a3
not ecx
and edi, edx
jmp 0x477381
mov dword [esp + 0x13c], ebx
xor esi, edi
or edi, 0x78a0f135
sub ecx, edi
dec edx
shr edx, 0x1d
sub esi, 0x78a1e443
sub edi, ecx
sub edx, ecx
add ecx, edx
add edx, 0x78a2dc18
xor edx, ecx
jmp 0x47784f
mov ebx, dword [ebx]
xchg ecx, edx
not ecx
sub edi, edx
add esi, edx
neg ecx
add edx, 0x78aefd50
ror ecx, 5
neg esi
dec edx
mov edi, esi
mov edi, edx
jmp 0x477b0c
jne 0x4785da
or esi, ecx
and edx, edi
mov edi, esi
or edi, esi
xchg edi, ecx
xchg edi, esi
jmp 0x476686
add ebx, dword [esp + 0xac]
mov ecx, esi
mov edx, edi
add esi, 0x78be26e8
xor edx, esi
sub ecx, edx
jmp 0x475872
add ebx, dword [esp + 0x13c]
xor edi, ecx
xchg ecx, edi
or edx, esi
mov edx, 0x78cc5d5d
mov esi, 0x78cc9adf
neg ecx
and edi, ecx
nop
jmp 0x475ab2
mov ebx, dword [ebx]
bswap edx
xchg ecx, esi
xor ecx, esi
xchg edi, esi
and esi, 0x78d0378b
add edi, 0x78d07479
shl edi, 0x1c
and edx, 0x78d1007a
mov esi, edx
add ecx, 0x78d176cb
jmp 0x475eb7
mov ebx, dword [ebx]
and esi, 0x78e1eca5
rol ecx, 0x15
add esi, edi
or esi, edi
sub esi, edx
xchg edx, esi
jmp 0x475931
mov eax, 4
bswap ecx
add edi, ecx
sub edx, ecx
or edi, 0x78eb1ddc
mov esi, edi
bswap edi
ror ecx, 0x1e
xor edx, edi
rol esi, 0x13
jmp 0x47612b
add ebx, dword [esp + 0xac]
dec esi
xchg edi, esi
sub edx, edi
neg edi
or ecx, 0x78efa875
sub edx, 0x78efe5a2
jmp 0x4775d0
mov ebx, dword [esp + 0x40]
or esi, 0x78f37366
or ecx, esi
and esi, 0x78f3ed15
add esi, edx
or esi, edi
jmp 0x4780a9
add esp, 0x15c
xchg esi, edi
and edi, edx
or ecx, edi
shr ecx, 6
rol edx, 0x10
add ecx, edx
mov esi, edi
xor ecx, edi
mov ecx, esi
jmp 0x4766a6
mov dword [esp + 0xac], 0
sub ecx, edx
shr edi, 0x1d
not edi
shl esi, 0xb
or edx, 0x790d2373
xor edx, edi
ror ecx, 0xe
sub esi, 0x790ddd74
jmp 0x476c14
mov dword [esp + 0x13c], ebx
and esi, 0x79186ed5
neg ecx
not esi
xchg edx, esi
and edx, edi
or esi, edx
and ecx, edi
add edi, 0x791a2873
jmp 0x476871
mov ebx, dword [esp + 0xac]
or ecx, esi
or esi, 0x791db5e0
bswap edx
and edi, edx
xor edi, 0x791e6bed
xor ecx, edi
xor ecx, 0x791ef576
sub esi, edi
rol edi, 0x1a
dec ecx
shr edi, 9
sub ecx, 0x7920240a
mov esi, ecx
jmp 0x476077
add dword [esp + 0x13c], eax
neg edi
and edx, esi
inc esi
and esi, edi
not esi
add edi, esi
and esi, edx
ror ecx, 0x17
inc esi
xor esi, edx
or ecx, 0x79232409
jmp 0x476922
mov eax, 2
or edi, 0x792cbd64
sub esi, edi
or edi, esi
sub edi, edx
mov ecx, esi
inc esi
or edx, ecx
inc edx
or esi, edx
and ecx, 0x792ee92e
and edx, 0x792f26b4
add ecx, edi
xor edx, esi
xchg ecx, edi
xor esi, edi
xchg edx, esi
jmp 0x4788ad
add ebx, dword [esp + 0xac]
or edi, 0x7930a48a
and esi, 0x7930e29d
mov edx, edi
not edi
mov edi, edx
xchg edx, edi
rol ecx, 8
mov edx, ecx
or edi, 0x79329959
add edi, esi
ror edi, 4
and ecx, 0x79335112
dec esi
jmp 0x476cb0
mul ebx
add ecx, esi
or esi, ecx
and edx, edi
and esi, 0x7936f837
jmp 0x477d30
add ebx, 0x3c
or esi, edi
nop
or edi, esi
xor esi, edi
jmp 0x476c9f
mov ebx, dword [esp + 0x13c]
xor esi, edi
and edx, ecx
mov esi, edx
or edi, edx
and edx, edi
xchg esi, edx
add edx, ecx
jmp 0x476faf
movzx ebx, word [ebx]
rol edi, 0xa
or ecx, edx
dec ecx
or edi, 0x79449695
and edx, esi
and esi, edx
xchg ecx, esi
and ecx, 0x79459614
xor edi, ecx
sub esi, 0x794611b9
jmp 0x478063
add ebx, 0xc
mov edi, esi
xor edx, edi
jmp 0x475bc9
rol eax, 8
or esi, edi
add esi, edx
mov edx, ecx
rol esi, 0xb
add edx, edi
or edi, edx
sub esi, edx
xchg edi, ecx
xchg ecx, esi
mov edi, 0x794d8b22
mov esi, edi
mov esi, ecx
and edi, 0x794e3d02
or ecx, esi
jmp 0x475805
mov ebx, dword [ebx]
and edi, edx
add edx, edi
or ecx, 0x7969826c
add edi, 0x7969f459
or edx, esi
ror edx, 0x14
xchg esi, edx
and ecx, 0x796bac30
ror ecx, 0xe
shr esi, 5
xchg edi, ecx
bswap esi
or edi, esi
xchg edx, edi
or esi, edi
mov edx, 0x796d9ebb
jmp 0x477f50
pop ebx
sub edi, 0x79a51c5c
or esi, edx
or ecx, 0x79a59520
mov esi, edi
xor ecx, 0x79a60e85
and edx, edi
not edi
jmp 0x477389
ret
mov ebx, dword [esp + 0xac]
add ecx, esi
or ecx, edi
and edx, ecx
neg edi
add ecx, edi
dec edx
or ecx, edi
jmp 0x4772bc
mov ebx, dword [esp + 0x13c]
mov ecx, esi
shr edi, 0xc
and edi, edx
or edi, ecx
xor esi, ecx
add edi, ecx
jmp 0x477498
mov ebx, dword fs:[ebx]
and esi, edx
mov ecx, 0x79da37d0
sub esi, edx
inc edi
xor edi, 0x79dadc71
inc edx
shr edx, 7
xor ecx, edi
and esi, edi
or edi, 0x79dbfe63
mov edx, esi
inc edi
mov ecx, esi
sub esi, ecx
jmp 0x4785ba
add ebx, dword [esp + 0xac]
dec ecx
or edx, edi
add edx, esi
xchg esi, ecx
and edi, ecx
jmp 0x475d4c
mov dword [esp + 0x13c], 0
xchg ecx, esi
not ecx
mov edx, esi
xor edx, edi
mov edi, ecx
xchg edi, ecx
shl esi, 4
ror ecx, 0x15
mov edi, ecx
shr edx, 2
mov edi, ecx
bswap edi
sub ecx, edi
dec edx
jmp 0x4775f8
mov ebx, dword [ebx]
sub edx, ecx
sub edx, 0x7a0f4c2f
add esi, ecx
jmp 0x4788f3
mov dword [esp + 0x40], ebx
xchg ecx, edx
bswap edx
sub ecx, esi
ror esi, 0xb
and esi, 0x7a10f396
and ecx, esi
mov edx, ecx
mov edi, esi
xchg esi, ecx
jmp 0x475fdd
add dword [esp + 0x13c], 4
dec edx
rol edi, 0x14
mov esi, edx
mov edi, edx
bswap esi
jmp 0x4760bc
add dword [esp + 0x13c], 0x20
xor esi, 0x7a288745
bswap esi
sub edi, edx
jmp 0x477eee
mov ebx, dword [ebx]
mov esi, edx
add esi, edi
sub esi, 0x7a464667
xchg esi, edi
ror edi, 0xe
xchg esi, edi
or ecx, edi
or edx, ecx
xchg esi, edx
add esi, ecx
or edi, ecx
jmp 0x476011
mov ebx, dword [esp + 0x13c]
inc edx
xchg ecx, esi
xchg edx, ecx
mov edx, ecx
and edx, edi
add ecx, edi
or ecx, 0x7a4fa8c7
jmp 0x4786d6
add ebx, 0x18
or ecx, edi
xor edi, 0x7a74c7e9
sub edx, 0x7a7505f8
and ecx, edi
or edx, esi
shr esi, 0xe
mov edi, esi
rol ecx, 2
jmp 0x47633a
add dword [esp + 0x13c], ebx
not edx
mov ecx, 0x7a83983c
neg esi
sub edi, edx
and ecx, edx
shl edx, 0x11
mov edi, esi
shl ecx, 0xd
xor ecx, edi
ror edi, 0x17
sub esi, edi
inc ecx
jmp 0x476e10
cmp byte [ebx], 0
jmp 0x4759b2
cmp eax, dword [esp + 0x4c]
jmp 0x477a44
mov ebx, dword [ebx]
sub ecx, esi
shl esi, 0x14
mov edi, ecx
or edi, edx
bswap edx
and edx, edi
xchg edx, ecx
mov edi, 0x7aa6ac25
ror edx, 0x1b
xchg edi, esi
and esi, edx
rol edi, 2
jmp 0x476a2a
xor eax, eax
sub edx, 0x7ab9e59a
add edx, esi
add ecx, edx
shl ecx, 6
sub ecx, 0x7abae69c
mov edi, ecx
jmp 0x4785da
mov dword [esp + 0x40], ebx
xchg edx, ecx
xor ecx, esi
and esi, 0x7abbeeb3
or edx, esi
add edi, esi
xchg edi, esi
and edi, 0x7abcef29
or edx, esi
or edi, esi
add ecx, esi
jmp 0x477e22
mov dword [esp + 0x4c], ebx
inc edi
mov esi, edx
xor edi, 0x7abe6d3d
mov esi, 0x7abeaa4c
mov esi, edi
not edi
bswap edx
jmp 0x477d05
add dword [esp + 0x40], 4
mov esi, edx
xor esi, edi
bswap esi
xor edi, 0x7ac5a696
shl edi, 0xd
neg edx
jmp 0x475cc4
push ebx
or ecx, edi
xor edi, 0x7ac6c2de
add esi, ecx
xor ecx, esi
bswap edx
or esi, ecx
ror ecx, 0xb
shl edx, 7
inc edx
shr edx, 9
xchg edx, esi
xor ecx, edx
xchg esi, ecx
jmp 0x4775b4
mov ebx, dword [esp + 0x40]
xchg esi, edi
and ecx, edi
or edi, esi
jmp 0x478658
add dword [esp + 0x13c], 0x78
sub edi, edx
neg esi
and edx, ecx
mov edi, esi
ror edx, 0xf
sub edx, 0x7b06ddb8
jmp 0x478718
jne 0x477e22
sub ecx, edi
or esi, 0x7b119237
xchg ecx, edi
mov esi, ecx
ror edx, 0xb
or edx, esi
bswap edx
or ecx, 0x7b131149
add ecx, esi
mov edx, edi
mov edi, edx
or edi, 0x7b13ffe8
xchg ecx, esi
mov esi, edx
jmp 0x476cd3
mov ebx, dword [ebx]
nop
or esi, 0x7b206c59
xor ecx, esi
add edx, edi
add edx, esi
and ecx, esi
or ecx, edx
not esi
or esi, edx
inc esi
jmp 0x477222
mov ebx, dword [ebx]
sub ecx, esi
xor edx, 0x7b3b6075
xor ecx, edx
mov ecx, esi
and edi, edx
add esi, edx
xor edx, esi
shl edi, 9
jmp 0x475c77
mov ebx, 0x30
or edi, ecx
rol esi, 8
xchg edx, esi
and edi, edx
xor edi, edx
xor ecx, 0x7b4993b6
xor edi, ecx
sub edi, esi
xchg edi, ecx
or ecx, edi
xor edx, 0x7b4abbe9
xchg edx, ecx
jmp 0x47698f
mov dword [esp + 0xf8], eax
sub esi, edx
and esi, 0x7b4b8412
or edx, ecx
shr edx, 0xe
sub edi, 0x7b4c38e9
shl edx, 5
and ecx, esi
rol esi, 0xe
add edi, ecx
xchg edx, ecx
neg edi
sub ecx, edi
and edi, ecx
jmp 0x47801a
inc dword [esp + 0xf8]
add esi, 0x7b5c7051
xchg edx, esi
xor ecx, edi
bswap esi
and esi, edx
xor edi, edx
xor ecx, edi
and edx, 0x7b5e2cab
add esi, ecx
mov edx, edi
xchg edi, edx
jmp 0x47766a
mov ebx, dword [esp + 0x13c]
xor esi, 0x7b69f63d
inc edi
neg edx
and esi, ecx
mov edx, ecx
xchg edi, ecx
jmp 0x477c6a
mov dword [esp + 0x40], 0
or esi, edx
or edx, esi
add edi, 0x7b6c00f5
ror edx, 4
rol ecx, 0xa
or edi, ecx
add esi, ecx
or esi, ecx
mov edx, ecx
not ecx
sub esi, 0x7b6df9cf
add edx, ecx
jmp 0x475dfb
mov dword [esp + 0xac], ebx
and edi, 0x7b705653
sub ecx, edx
and edi, esi
mov esi, edx
mov ecx, edx
or esi, edx
add ecx, edx
sub ecx, esi
shl esi, 0x18
bswap esi
jmp 0x475f07
sub dword [esp + 0x13c], 8
xor edx, 0x7b7ed527
inc ecx
mov edi, ecx
xor ecx, esi
not edx
and esi, edx
xor esi, edi
dec edx
and esi, ecx
rol edx, 0x17
rol esi, 0x14
jmp 0x477022
mul ebx
and edi, ecx
mov edi, esi
and edi, esi
add edx, 0x7b8503ae
add edx, esi
or ecx, esi
or ecx, edx
or ecx, edi
add edx, 0x7b8639ab
and ecx, edx
mov esi, ecx
or ecx, esi
jmp 0x475f3e
mov ebx, dword [ebx]
add esi, 0x7b894d3c
xor edi, ecx
xchg edx, edi
sub edi, ecx
dec esi
not edi
add edi, edx
xor edi, esi
or edx, edi
jmp 0x478392
add ebx, dword [esp + 0xac]
xchg esi, ecx
bswap ecx
not esi
and ecx, esi
and edx, 0x7bc06e88
or edi, ecx
add edi, 0x7bc0f89b
add ecx, edi
add edx, edi
sub ecx, edi
add edx, ecx
jmp 0x477688
mov ebx, dword [ebx]
and ecx, edx
add edi, edx
shr edi, 0x12
and ecx, esi
xor esi, edi
xchg esi, edi
xor ecx, edi
shr edi, 0x14
sub edx, 0x7bd46637
rol ecx, 7
or esi, 0x7bd4e029
jmp 0x476153
add ebx, 0xc
mov esi, 0x7be31307
and esi, edi
and ecx, esi
neg edi
and esi, ecx
sub edi, esi
mov ecx, edi
xchg esi, edx
add edx, edi
inc edi
not edi
jmp 0x4784a8
xor al, byte [ebx]
xor ecx, 0x7be58ff5
mov ecx, 0x7be5c642
sub ecx, esi
or esi, edx
add ecx, 0x7be679ca
dec esi
or edi, ecx
inc edi
sub edi, esi
jmp 0x476198
add ebx, dword [esp + 0xf8]
xor edx, ecx
and esi, ecx
add edx, esi
xchg esi, edx
add edx, 0x7bee9f4f
sub ecx, esi
rol edx, 0xf
xchg ecx, esi
mov edi, esi
xor ecx, edx
not ecx
and edx, edi
mov edx, esi
mov edx, ecx
not edx
jmp 0x475c38
mov ebx, dword [ebx]
add edi, 0x7bf5ab03
and ecx, edi
and esi, 0x7bf618fc
and edi, ecx
sub esi, ecx
or ecx, esi
shr edi, 0xb
or ecx, edi
add ecx, 0x7bf76c77
and edi, esi
sub ecx, esi
neg edx
jmp 0x475a11
mov ebx, dword [esp + 0xac]
add edi, ecx
rol edx, 0x1d
shl esi, 9
or edx, 0x7bfa4216
add ecx, edi
xor edx, esi
rol edi, 0x1c
mov ecx, edx
and ecx, edi
xor ecx, esi
sub ecx, edx
neg ecx
jmp 0x475a87
mov ebx, dword [esp + 0xf8]
add edi, 0x7c13114f
xor edi, 0x7c135999
jmp 0x476064
mov dword [esp + 0x13c], ebx
sub edx, esi
mov esi, ecx
shl edi, 4
xor ecx, edi
or edx, edi
mov edx, edi
jmp 0x4779b0
sub esp, 0x15c
shr edx, 0xc
dec edx
or edi, esi
xor esi, edi
and edi, ecx
and esi, ecx
xchg edi, edx
jmp 0x478b85
mov dword [esp + 0xf8], 0
xor ecx, edx
inc esi
dec edx
or esi, edi
add edx, ecx
and esi, 0x7c49761d
xchg edx, edi
sub edx, esi
and edi, 0x7c4a3e59
jmp 0x477f09