Function at 0x477bdf
Capabilities:
Encrypt data using chaskey

Disassembly:
inc dword [esp + 0x20]
and ecx, esi
mov edx, esi
neg edx
shl edx, 0x12
shr ecx, 3
neg edi
mov edx, esi
inc edx
xchg ecx, edi
inc edi
jmp 0x476b3a
mov ebx, dword [ebx]
sub ecx, edx
xor edx, 0x9a38b342
or ecx, 0x9a38f5ea
inc edx
add edx, esi
xor edi, edx
add edi, 0x9a39f2e6
bswap edx
mov esi, edi
sub edi, ecx
jmp 0x4753fd
add ebx, dword [esp + 0x4c]
xchg ecx, edx
sub esi, ecx
or esi, ecx
mov esi, ecx
sub ecx, esi
or esi, ecx
inc edx
or edx, edi
jmp 0x475510
mov dword [esp + 0x100], ebx
xor edi, edx
xor edi, edx
mov ecx, edx
sub edx, 0x9a619ede
jmp 0x475594
mov ebx, dword [esp + 0xbc]
sub esi, edx
shl esi, 0x1c
xchg esi, ecx
and edi, ecx
or edx, edi
add edi, 0x9a6c7992
dec ecx
and edi, 0x9a6cfbea
mov esi, ecx
sub esi, edi
jmp 0x477a35
add ebx, 0x3c
mov esi, 0x9a8b834a
mov edi, edx
shl edi, 0x16
dec esi
bswap edi
xchg ecx, esi
and esi, edx
or esi, edx
xor esi, edx
not ecx
jmp 0x475cdf
mov eax, 4
sub esi, ecx
add edi, 0x9a99a0c2
or edi, edx
sub ecx, edx
add esi, edi
add edi, edx
rol esi, 0x13
mov esi, 0x9a9b2364
neg edi
add ecx, edx
jmp 0x47703a
mov ebx, dword [esp + 0xbc]
mov edx, edi
and edx, esi
add edi, 0x9aa1b51e
xchg edi, edx
ror ecx, 0x12
xchg edx, esi
jmp 0x47699d
mul ebx
or edx, edi
mov edi, esi
not esi
mov edi, esi
and ecx, 0x9aaaaa62
neg edx
jmp 0x47662e
cmp byte [ebx], 0
jmp 0x4770e4
mov dword [esp + 0xbc], 0
add ecx, edx
sub esi, ecx
and edx, 0x9ab22632
add edx, edi
xor edi, ecx
add esi, 0x9ab2e638
inc ecx
and edx, ecx
xor ecx, edi
rol edi, 5
xor ecx, 0x9ab44128
and edx, ecx
and edx, ecx
or ecx, esi
jmp 0x475df6
mov ebx, dword [ebx]
mov ecx, edi
ror edx, 0x1b
xchg edi, esi
shr ecx, 0x19
neg edx
dec edx
and edi, ecx
bswap edx
mov esi, edi
xchg esi, edi
mov ecx, edi
mov edx, 0x9ac5e7ce
or esi, 0x9ac62844
sub ecx, edi
jmp 0x47771c
mov dword [esp + 0x4c], ebx
and ecx, esi
xor ecx, 0x9acafe60
sub edi, ecx
not ecx
neg edx
xchg esi, edi
and ecx, edi
shr edi, 0x1f
jmp 0x4773bc
add esp, 0x118
inc edi
sub edx, edi
add ecx, edx
inc esi
add edx, esi
xor ecx, edi
xor edi, ecx
and edi, edx
jmp 0x47660c
mov ebx, dword [ebx]
inc esi
rol edx, 9
mov edi, ecx
bswap edx
or edi, ecx
neg edi
xor ecx, edx
xor edi, 0x9ade6c6c
jmp 0x4772f3
mov ebx, dword [ebx]
add ecx, 0x9af54dfc
add edx, 0x9af58e56
xor ecx, esi
neg ecx
and ecx, 0x9af664d0
add esi, edi
rol ecx, 0xa
xor edx, 0x9af72790
jmp 0x47654c
add ebx, dword [esp + 0x4c]
or esi, edi
mov edx, esi
add ecx, edi
and esi, 0x9af8508e
sub esi, ecx
xchg edx, esi
jmp 0x475b88
mov ebx, dword [esp + 0x4c]
add ecx, esi
sub edi, ecx
xor edi, 0x9af9a7da
or edx, ecx
mov edi, ecx
and edx, 0x9afa78ce
jmp 0x476652
jne 0x4752ae
or edi, edx
shl esi, 2
add ecx, esi
bswap ecx
not ecx
or edi, esi
add esi, edx
sub edi, esi
xor edx, edi
dec esi
sub ecx, edx
xchg ecx, esi
jmp 0x4774f0
mov dword [esp + 0x4c], 0
ror edi, 0xd
sub esi, 0x9b0cba88
add edi, esi
sub edx, esi
not ecx
rol edx, 0x13
add esi, 0x9b0eb172
xor esi, edi
jmp 0x47601d
add ebx, 0x18
shr esi, 7
and ecx, esi
mov esi, ecx
not edi
neg ecx
and edi, ecx
and ecx, esi
and esi, ecx
jmp 0x475f23
mov ebx, dword [esp + 0x20]
sub edi, ecx
sub esi, 0x9b21a5b2
xor edi, 0x9b21e7d6
ror edx, 0x19
shl ecx, 0x1a
add edx, ecx
jmp 0x477483
mov ebx, dword [ebx]
or esi, ecx
rol ecx, 4
not edi
sub edx, edi
ror edi, 0xd
xchg edx, ecx
jmp 0x475abb
mov dword [esp + 0x100], 0
xor esi, 0x9b3a79a6
or ecx, edi
and ecx, edx
xor edi, esi
add edx, ecx
add edx, 0x9b3bc91a
jmp 0x476507
mov eax, 2
or esi, edx
bswap edx
or ecx, esi
add edx, edi
bswap ecx
mov edi, ecx
xor edx, edi
mov edi, esi
sub esi, edi
xor ecx, 0x9b453ed2
jmp 0x475ed5
inc ebx
sub esi, edi
add ecx, edx
ror edi, 0xc
or edi, esi
and edi, ecx
ror ecx, 0x1c
xor edi, esi
xor ecx, esi
and esi, edi
and edx, edi
jmp 0x475928
rol eax, 8
or edi, 0x9b5edc56
xchg edi, esi
sub edx, 0x9b5f719c
mov esi, edi
and edi, ecx
not edi
or esi, edx
xor ecx, 0x9b60b2d4
jmp 0x47616e
mov dword [esp + 0x100], ebx
sub edx, ecx
and edx, ecx
neg edi
rol edx, 4
rol ecx, 0x16
inc esi
add esi, edi
and ecx, esi
not esi
mov esi, 0x9b6e47fc
xor edi, esi
xor esi, ecx
and edx, esi
and edi, ecx
jmp 0x477612
mov ebx, dword [esp + 0x100]
shl edi, 6
add ecx, edi
add ecx, esi
or edx, ecx
jmp 0x477b06
mov ebx, dword [esp + 0x100]
not edx
mov ecx, 0x9b7a1546
xchg ecx, edx
xor edi, esi
inc ecx
xchg edi, edx
dec edi
xchg edi, ecx
or esi, 0x9b7beee6
rol edi, 0x1a
jmp 0x4752f3
sub dword [esp + 0x100], 8
ror ecx, 0x1d
add ecx, edi
jmp 0x476367
mov ebx, dword [ebx]
mov esi, ecx
xchg ecx, edi
sub edx, edi
ror edi, 0xe
xor esi, 0x9b9570e0
sub ecx, edi
rol esi, 7
xor edi, 0x9b964546
jmp 0x476d29
mov dword [esp + 0x50], ebx
mov edi, esi
neg esi
jmp 0x476aa9
mov dword [esp + 0x100], ebx
not ecx
xor edx, 0x9ba2aa42
xchg edx, esi
ror edx, 0x1c
add esi, 0x9ba36fa2
or ecx, edi
and edi, 0x9ba3ef12
or edx, 0x9ba44b7a
and esi, ecx
not edi
bswap edi
add edi, ecx
and edi, edx
and edi, edx
jmp 0x476af6
ret
add dword [esp + 0x100], eax
sub edx, edi
xor edi, ecx
or esi, edx
xchg esi, edx
add ecx, 0x9bb564a4
xor esi, 0x9bb5b7be
and edi, ecx
mov edx, esi
jmp 0x476323
add ebx, dword [esp + 0x100]
sub edi, 0x9bb68d36
and ecx, edi
xor edi, ecx
add edx, 0x9bb75108
sub ecx, edx
sub edi, edx
jmp 0x477526
pop ebx
or ecx, edx
xor esi, 0x9beaf11a
and ecx, edx
shl esi, 7
and esi, 0x9bebb3a6
xor ecx, edi
jmp 0x476c55
mov ebx, dword [ebx]
xor esi, 0x9c030156
add esi, edx
jmp 0x47775f
push ebx
or ecx, 0x9c0db94e
and ecx, esi
xchg esi, edx
xor esi, edi
sub esi, edi
ror ecx, 0xe
add edx, 0x9c0f402e
or edi, esi
jmp 0x476c31
mov ebx, 0x30
xchg ecx, edx
mov esi, ecx
add edi, edx
not edx
sub edi, esi
or esi, ecx
sub edi, edx
shr ecx, 4
bswap esi
xor esi, ecx
or edi, edx
ror ecx, 0xc
jmp 0x476c0a
add dword [esp + 0x100], 0x78
add edx, 0x9c26be8c
or edx, ecx
dec esi
inc edi
add edi, esi
ror edx, 0xa
xchg edi, edx
mov edx, 0x9c289362
rol esi, 2
sub edx, 0x9c291256
jmp 0x475d23
add dword [esp + 0x100], ebx
bswap edx
and edx, 0x9c29c8e0
add ecx, edx
and edx, esi
jmp 0x477539
add dword [esp + 0xbc], 4
and edi, esi
and ecx, 0x9c2bc246
ror edi, 3
sub edx, esi
shl edi, 0xe
rol esi, 0xa
mov edx, ecx
dec ecx
sub esi, 0x9c2dda6e
xchg ecx, edx
jmp 0x47587e
mov ebx, dword fs:[ebx]
shr ecx, 4
xchg ecx, edx
jmp 0x476dde
xor eax, eax
and edi, esi
or edi, ecx
neg edi
or edi, 0x9c43124e
rol ecx, 0xd
bswap esi
and edi, edx
mov edi, ecx
xor edx, 0x9c444e58
mov esi, edi
jmp 0x4777ce
cmp eax, dword [esp + 0x50]
jmp 0x475db7
mov ebx, dword [esp + 0x100]
and esi, 0x9c5439d4
or ecx, edi
neg ecx
xor edx, ecx
add ecx, esi
shr ecx, 2
and ecx, edi
xor edi, 0x9c56541c
jmp 0x47648b
add ebx, dword [esp + 0x4c]
shl esi, 0x18
mov edx, edi
sub edi, ecx
xor ecx, 0x9c5a6f8e
mov edx, esi
mov edx, edi
jmp 0x477a69
add ebx, 0xc
sub ecx, edx
shr edx, 0x1c
sub esi, 0x9c699858
mov edx, 0x9c69d750
or esi, 0x9c6a1662
sub ecx, edx
xor ecx, edi
add esi, edi
jmp 0x475a51
mov dword [esp + 0x20], 0
sub edi, edx
mov edx, 0x9c705706
add edi, ecx
and esi, ecx
xor edx, 0x9c7170e6
xchg ecx, edi
xchg ecx, edx
sub ecx, edi
jmp 0x47596f
mov dword [esp + 0xbc], ebx
shl edi, 0xd
add ecx, 0x9c750474
xor esi, edi
mov ecx, edi
xchg edi, esi
sub edi, esi
xchg ecx, esi
or edi, ecx
xor edx, esi
xchg edi, esi
sub edx, 0x9c79ee7a
xor edx, edi
dec ecx
and edx, edi
jmp 0x47608f
mov ebx, dword [ebx]
add ecx, esi
add edx, edi
add edi, edx
sub esi, edi
xchg ecx, edi
sub edi, ecx
sub esi, 0x9c8e72e4
and edx, ecx
sub edx, 0x9c8eeeee
sub edi, ecx
jmp 0x4778a3
movzx ebx, word [ebx]
bswap ecx
add edi, edx
dec edx
or edi, ecx
mov edx, esi
inc edi
add esi, ecx
xor esi, ecx
jmp 0x4758fa
mov ebx, dword [ebx]
mov edi, edx
bswap esi
jmp 0x475ba1
jne 0x4777ce
shl edi, 1
xor esi, edx
neg edx
shr edx, 0xd
not edx
add edi, esi
jmp 0x4768a2
mov ebx, dword [ebx]
or esi, edx
mov esi, edi
neg edx
or edi, esi
mov esi, edx
neg edx
rol edi, 0x19
add esi, edx
or esi, edi
add ecx, esi
and edi, esi
inc esi
jmp 0x475e87
mov ebx, dword [esp + 0x100]
mov edx, ecx
rol ecx, 0x13
or edx, esi
and ecx, 0x9cea152a
mov esi, edi
add edx, esi
jmp 0x476f38
mov ebx, dword [esp + 0x4c]
neg edi
add esi, edx
xchg edx, esi
xchg ecx, edi
or edx, 0x9cf5004a
sub esi, edx
add edx, esi
mov edx, esi
jmp 0x475756
mul ebx
sub edi, 0x9d09a78c
add esi, edx
xor edx, ecx
mov ecx, edx
sub edi, esi
bswap edi
jmp 0x4779e2
add dword [esp + 0x100], 4
bswap edx
and edx, edi
xor ecx, edi
shl edi, 0x1d
add edi, esi
inc ecx
not edx
mov edx, ecx
or esi, edx
neg esi
jmp 0x477335
mov ebx, dword [ebx]
or esi, 0x9d240cca
or edx, ecx
sub edi, esi
or esi, edi
jmp 0x4762aa
add dword [esp + 0x100], 0x20
shr ecx, 0x1c
inc esi
and edx, edi
xchg edi, edx
or esi, ecx
ror edx, 0x15
sub esi, edi
inc ecx
mov edi, esi
xor edx, 0x9d276b96
xor edi, 0x9d27aa76
add esi, 0x9d27eab4
jmp 0x476ce8
mov ebx, dword [esp + 0x4c]
inc edx
and edx, ecx
jmp 0x476b22
add ebx, 0xc
sub ecx, edx
bswap edx
and ecx, 0x9d471426
add ecx, edi
mov esi, 0x9d47908e
rol edx, 0x18
xor esi, 0x9d480fd0
and edx, edi
jmp 0x477078
add ebx, dword [esp + 0x4c]
dec esi
add edx, 0x9d4afa8a
and edx, edi
or esi, edi
add esi, ecx
add esi, edi
or esi, edx
mov esi, ecx
inc ecx
or edx, edi
jmp 0x476a17
xor al, byte [ebx]
xor ecx, 0x9d52f404
or edi, ecx
bswap ecx
dec esi
mov ecx, esi
mov edi, edx
sub edx, 0x9d5467d0
xor edx, ecx
add edx, esi
add ecx, esi
jmp 0x476200
add ebx, dword [esp + 0x4c]
mov ecx, 0x9d647a40
xor esi, edi
sub edx, edi
xor ecx, esi
add ecx, 0x9d6584c8
add esi, ecx
or esi, 0x9d65ff3e
mov edi, edx
jmp 0x476e76
mov dword [esp + 0x20], eax
xor esi, edx
add esi, edi
sub esi, ecx
neg ecx
or ecx, edi
mov edx, edi
sub esi, edi
and esi, edi
add esi, ecx
rol edi, 0x14
jmp 0x476439
add ebx, dword [esp + 0x20]
or edi, 0x9d814e92
xor ecx, 0x9d818d68
add esi, 0x9d81cdb6
or edx, esi
shr esi, 0xc
add edi, ecx
and esi, edx
bswap edi
mov esi, edi
mov edx, 0x9d8394ca
and ecx, edx
mov edi, edx
jmp 0x47580e
mov dword [esp + 0xbc], ebx
xor edx, 0x9d846204
add edi, ecx
add ecx, edi
sub edx, edi
xchg esi, ecx
ror edx, 0x10
xchg edi, esi
mov esi, edi
xor edi, ecx
or edi, 0x9d86a034
jmp 0x4752ae
mov ebx, dword [ebx]
xor edi, esi
xor esi, 0x9d8f6bcc
xchg edi, edx
add esi, ecx
sub ecx, esi
rol edx, 8
and ecx, 0x9d90a308
xor edi, esi
jmp 0x475d07
sub esp, 0x118
or esi, edx
bswap esi
or ecx, edi
inc edi
not edx
xor edi, edx
mov edi, edx
and ecx, esi
inc edx
and edx, esi
ror ecx, 0x19
dec edx
not ecx
xchg esi, ecx
jmp 0x476e2f