Function at 0x476b1b
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x50], 0
xor esi, 0xd004af71
bswap edx
xor edx, edi
or ecx, edx
sub edi, esi
or esi, 0xd00db462
not esi
add ecx, esi
shl esi, 0xe
xor ecx, edx
add ecx, edi
bswap edi
mov edi, edx
shl edi, 0xb
jmp 0x475e16
mov dword [esp + 0xb4], ebx
add ecx, edi
sub esi, ecx
add edi, esi
mov esi, ecx
mov edx, 0xd14b82a2
xor esi, ecx
and edi, 0xd14f2fe2
or edi, ecx
jmp 0x478052
mov ebx, dword fs:[ebx]
and edi, ecx
or ecx, edx
xor ecx, edx
sub edx, 0xd2dfa6cf
mov edx, ecx
or edi, edx
jmp 0x477310
add dword [esp + 0xb4], 4
and edi, esi
mov edx, ecx
xor edi, edx
and edx, ecx
and edi, ecx
mov edx, esi
neg esi
jmp 0x47848d
mov ebx, dword [esp + 0x94]
mov esi, edx
add edi, 0xd599143c
rol edi, 0xd
and esi, edx
neg edi
inc esi
and edi, ecx
xor esi, edi
xor ecx, edx
xor ecx, edx
nop
jmp 0x477774
mov dword [esp + 0xb4], 0
dec esi
xor ecx, esi
xor ecx, edx
mov edx, 0xdac72070
shr edx, 9
sub edi, 0xdacad19d
sub ecx, 0xdaccab52
neg esi
and edi, esi
sub edi, esi
sub edi, edx
add esi, edi
or ecx, edx
and ecx, 0xdada6215
or edi, 0xdadc306a
and esi, edx
jmp 0x47692d
add ebx, dword [esp + 0x50]
and edx, esi
and esi, 0xdae1f7d2
and esi, edx
add esi, ecx
sub ecx, edx
xor esi, 0xdae959dd
bswap edi
xchg edi, edx
jmp 0x477796
add ebx, dword [esp + 0x50]
or ecx, edx
not edx
bswap edi
dec edi
xor edx, ecx
or edi, esi
xor edx, edi
shr edx, 7
add esi, ecx
jmp 0x478428
xor eax, eax
shl esi, 0x15
sub edx, edi
rol edi, 0xd
or esi, edi
add esi, 0xdc4acda5
add edx, 0xdc4e1ebb
add esi, edx
or ecx, edx
xor esi, edi
xchg edi, esi
bswap ecx
jmp 0x476aed
mov dword [esp + 0x94], ebx
mov edx, edi
neg esi
and esi, 0xdcbcbb96
add edx, esi
shr esi, 0x16
xchg ecx, esi
or esi, 0xdcc52172
jmp 0x478cb6
mov ebx, dword [ebx]
or edi, ecx
shr edi, 5
xchg esi, edx
or ecx, 0xe0bb6aec
xchg ecx, edx
xchg ecx, edi
sub esi, edi
ror ecx, 0x1d
dec ecx
or edx, edi
mov edi, esi
jmp 0x476d1e
mov ebx, dword [ebx]
mov esi, 0xe1eebc76
mov edi, edx
shr edx, 0xa
mov esi, edx
and ecx, esi
add edi, 0xe1f7d173
or esi, ecx
inc edx
shl esi, 6
not edx
jmp 0x477120
add ebx, dword [esp + 0x50]
or ecx, edx
or esi, 0xe23ba13c
nop
inc esi
rol esi, 0x1e
rol edx, 0x19
add edx, 0xe244e0ef
shl edi, 0x12
add edx, 0xe248c701
shr edi, 0xb
ror edx, 9
shr edx, 5
or esi, edx
not edi
bswap esi
jmp 0x476664
mov dword [esp + 0x54], eax
dec ecx
add esi, edi
mov ecx, 0xe284666a
or edi, edx
bswap edx
neg esi
or ecx, edi
and ecx, 0xe28ef54c
or esi, 0xe290d36b
rol edi, 0x1e
shr ecx, 0x1a
or edi, edx
jmp 0x477ebc
mov ebx, dword [ebx]
mov esi, edx
add edx, 0xe2a265be
xor ecx, 0xe2a4431c
mov esi, ecx
bswap edx
neg ecx
jmp 0x478d1f
push ebx
xor esi, edi
sub esi, ecx
and esi, 0xe2d5f4c7
xchg edi, esi
shl edi, 1
not esi
mov edx, ecx
sub edi, edx
and edi, edx
shl edi, 8
shr esi, 0x1e
add esi, 0xe2e698ce
jmp 0x4760c8
mov ebx, dword [ebx]
inc esi
and edx, 0xe3fa9875
or edx, esi
add edx, edi
xor edi, ecx
add edx, ecx
rol edi, 0x17
xchg esi, ecx
jmp 0x475ece
mul ebx
sub edx, 0xe4380ef2
add edi, ecx
xor esi, edi
sub esi, edi
or ecx, esi
inc edx
neg ecx
dec edi
jmp 0x476cb6
mov dword [esp + 0xb8], ebx
shl ecx, 0x1c
xor edx, esi
mov edx, esi
xor esi, edi
xor esi, ecx
mov ecx, edx
xor esi, ecx
jmp 0x4781ff
inc dword [esp + 0x54]
add esi, edi
sub edi, ecx
or ecx, edi
shl edi, 5
and ecx, 0xe88a3806
shr esi, 5
xchg edi, ecx
mov ecx, 0xe88fb6f3
shl edx, 0x1f
neg edi
or ecx, edx
jmp 0x47834d
movzx ebx, word [ebx]
or ecx, edx
or ecx, edi
mov ecx, 0xe8d6ef4e
neg edi
xor ecx, esi
add edx, ecx
xchg esi, edi
bswap ecx
jmp 0x4768bd
xor al, byte [ebx]
and edx, ecx
and ecx, edi
xor esi, ecx
add esi, edx
add edi, ecx
add esi, edx
and esi, ecx
dec edi
not esi
xor edx, esi
jmp 0x4779ea
sub esp, 0xf8
inc edx
and edx, ecx
xor esi, edi
xor esi, edi
rol ecx, 0x1b
or esi, 0xe9177060
jmp 0x478c6c
mov ebx, dword [esp + 0x94]
or edx, ecx
or esi, edx
add edi, esi
and edi, ecx
add edx, 0xe9bca492
xor ecx, 0xe9be7701
sub ecx, esi
mov edi, esi
jmp 0x477387
add dword [esp + 0xb4], eax
and edx, esi
add edx, esi
nop
ror edx, 0x17
or edx, edi
sub edi, esi
add ecx, esi
neg esi
dec ecx
or ecx, edx
xchg esi, edx
xchg esi, ecx
and esi, 0xea0bf38a
rol edi, 8
mov edi, edx
jmp 0x478822
mov ebx, dword [ebx]
xor edx, esi
and edx, esi
neg esi
xor esi, 0xea35240b
mov edi, esi
not ecx
or edx, esi
or esi, edx
or ecx, edx
mov esi, 0xea3fecef
jmp 0x4774b3
mul ebx
xchg esi, edi
and edi, edx
rol ecx, 0x19
or edi, edx
jmp 0x4765b4
mov ebx, dword [esp + 0xb4]
sub edx, ecx
shr edx, 0xd
xor edx, ecx
bswap edi
and edi, esi
xchg edx, esi
bswap edx
xchg esi, edx
add esi, edx
sub edx, ecx
dec edx
shr edx, 0x1a
jmp 0x4786b8
jne 0x476aed
or edi, edx
xchg edx, esi
or ecx, 0xeab7f02f
xchg esi, edx
xchg ecx, edi
neg esi
and esi, edx
sub edi, edx
or ecx, edi
bswap ecx
shl esi, 0xf
jmp 0x4787a8
mov ebx, dword [ebx]
and edx, esi
shr edi, 0x14
and esi, 0xeb2981e3
or esi, edi
or edx, esi
xchg edi, ecx
add ecx, edi
xchg esi, ecx
inc ecx
xor esi, edx
add edx, esi
jmp 0x477056
mov ebx, dword [ebx]
shr esi, 0x1b
and esi, edx
xor esi, edi
inc edx
ror ecx, 0xc
or edi, edx
xchg ecx, edi
and edi, 0xebfdc3eb
sub esi, ecx
neg edi
inc edi
neg edx
xor edi, ecx
jmp 0x478a21
add ebx, dword [esp + 0x50]
xor ecx, esi
neg esi
nop
sub esi, ecx
mov esi, edi
add edx, esi
add esi, edi
or ecx, edi
sub edi, edx
and esi, edx
sub esi, edx
and esi, ecx
and ecx, edi
xchg edx, esi
jmp 0x47615f
mov dword [esp + 0xb4], ebx
shr edi, 2
rol edi, 0xd
xchg esi, edx
rol esi, 0xa
add edi, 0xecb6c78b
xor edi, esi
jmp 0x477b35
add ebx, 0x18
ror esi, 0x18
xor edi, edx
neg edi
xchg esi, edx
xor edx, ecx
sub edx, ecx
neg edi
xchg esi, ecx
bswap ecx
sub esi, ecx
or esi, ecx
mov edx, 0xed7ca64f
xchg esi, edx
not esi
jmp 0x4765f2
add ebx, 0xc
xchg edx, edi
shr ecx, 6
mov edi, ecx
xor ecx, edx
and esi, edx
and ecx, esi
mov edx, 0xee8f342e
add edi, esi
xor ecx, edx
or ecx, edx
or ecx, edi
jmp 0x478bcf
mov ebx, dword [ebx]
shl esi, 0x18
or esi, edi
add ecx, 0xeed23e2e
mov edx, ecx
dec edx
add ecx, 0xeed7e1f8
jmp 0x476532
jne 0x476a23
add ecx, edi
sub ecx, edx
xchg esi, edx
dec edi
or ecx, 0xef304b71
add edi, esi
rol ecx, 0x1f
or esi, edi
shr edi, 0x16
add esi, 0xef399ce8
jmp 0x47581a
mov ebx, dword [ebx]
add ecx, edi
mov edi, esi
add edx, esi
xchg esi, edi
xchg esi, edx
add ecx, 0xef718829
jmp 0x47713f
mov dword [esp + 0x94], 0
xor esi, 0xefaaa5fc
or ecx, edx
and ecx, edx
or esi, ecx
sub ecx, esi
shr esi, 1
jmp 0x4754b4
add dword [esp + 0xb4], ebx
xchg esi, edx
add edi, 0xf08ca475
and ecx, edx
sub edi, edx
xchg ecx, edx
or esi, ecx
xor ecx, edi
shl edi, 0x1d
shl edi, 0x11
xor edx, esi
or ecx, edi
jmp 0x4788ca
add ebx, dword [esp + 0x54]
not edx
add ecx, 0xf0f46bdb
not edx
not edx
neg esi
sub esi, 0xf0fbfb53
sub ecx, edx
jmp 0x477a5a
mov dword [esp + 0x94], ebx
and edx, 0xf100103b
shr edi, 1
sub esi, ecx
xchg esi, ecx
xor edx, esi
ror esi, 0x18
add edi, esi
mov ecx, edi
xor esi, edi
or edx, edi
mov edi, ecx
or edx, esi
jmp 0x476a23
ret
cmp eax, dword [esp + 0xb8]
jmp 0x477436
rol eax, 8
shl edx, 0x1f
sub edi, 0xf365cfe3
sub edx, ecx
dec edi
add edx, esi
mov esi, 0xf36d0a92
add edx, esi
rol edi, 0x1f
mov esi, edx
nop
or edi, ecx
sub edx, edi
sub edi, 0xf379de3b
jmp 0x478b38
mov eax, 4
dec esi
and edx, esi
xchg edi, esi
xchg ecx, edx
xor esi, ecx
or esi, edi
and ecx, edi
mov edx, ecx
jmp 0x476ab7
mov ebx, dword [esp + 0xb4]
rol esi, 0x11
bswap ecx
mov edi, esi
xor edx, 0xf5e21f0b
xor esi, 0xf5e4e976
jmp 0x476848
mov ebx, dword [esp + 0x50]
sub esi, edi
and edi, edx
shl edx, 2
or edx, 0xf658bcf4
and edx, esi
jmp 0x4776bf
add ebx, 0xc
mov edx, esi
and ecx, esi
sub esi, edx
mov edi, esi
rol ecx, 0x16
xor edx, ecx
mov edx, esi
mov esi, edi
jmp 0x47626b
sub dword [esp + 0xb4], 8
and esi, ecx
add esi, edx
or edi, edx
dec edx
and esi, ecx
jmp 0x477ae3
add dword [esp + 0xb4], 0x78
sub edi, esi
shl edx, 0x18
inc esi
mov esi, ecx
not ecx
add edi, esi
or ecx, edi
and ecx, edx
jmp 0x478c17
add ebx, 0x3c
xchg esi, edx
bswap esi
neg ecx
add edx, esi
ror edi, 0x1f
ror edx, 0x12
and ecx, 0x1182d560
or edi, esi
sub edx, ecx
xor esi, edx
or esi, 0x118a2599
jmp 0x478c36
mov ebx, 0x30
rol edi, 0x10
or ecx, esi
or esi, 0x11948159
sub ecx, edi
and edx, ecx
sub edx, esi
dec edi
jmp 0x475760
add esp, 0xf8
xchg esi, edi
sub edx, esi
shl esi, 7
jmp 0x47783b
add dword [esp + 0x94], 4
and esi, 0x125f8164
xor esi, edx
mov esi, 0x12632ca8
xor esi, 0x1265047d
inc edx
mov edx, ecx
add edi, 0x126a837d
sub edx, edi
shr ecx, 1
add ecx, esi
add esi, ecx
inc edx
jmp 0x476c3d
mov dword [esp + 0xb4], ebx
add edx, 0x12d757f3
sub esi, edx
mov edx, edi
add esi, edi
jmp 0x47597c
cmp byte [ebx], 0
jmp 0x476deb
mov ebx, dword [esp + 0x54]
xor ecx, edx
rol edx, 9
sub edi, 0x12e31248
jmp 0x476d65
mov ebx, dword [esp + 0xb4]
or edi, 0x1308fe40
shl edi, 0x1d
sub edi, esi
jmp 0x476ec1
mov ebx, dword [esp + 0x50]
mov ecx, esi
bswap esi
sub ecx, edx
not ecx
xor esi, ecx
jmp 0x4781c5
mov ebx, dword [ebx]
or edi, edx
mov edi, ecx
shl ecx, 3
mov edi, esi
sub ecx, edx
xor edi, ecx
jmp 0x475e59
pop ebx
and esi, ecx
or ecx, esi
sub esi, edi
mov edx, edi
inc esi
rol edi, 0x11
jmp 0x477963
mov ebx, dword [esp + 0xb4]
xchg ecx, esi
mov ecx, esi
and ecx, 0x14e5354d
or edx, esi
sub esi, ecx
sub ecx, edi
neg esi
or edi, ecx
or esi, 0x14f05dcf
jmp 0x477031
add dword [esp + 0xb4], 0x20
ror ecx, 0xa
add edx, ecx
add edx, edi
add ecx, esi
mov edx, edi
neg ecx
sub edx, edi
xchg ecx, edx
jmp 0x476d75
add ebx, dword [esp + 0xb4]
neg esi
xchg ecx, esi
shr ecx, 0x1f
xor edi, esi
jmp 0x4764a9
add ebx, dword [esp + 0x50]
add ecx, esi
shl edx, 0x18
sub edi, edx
not edi
jmp 0x47821b
inc ebx
not edi
xor ecx, edx
add ecx, edx
or edi, 0x1963f3d0
xchg edx, esi
shr ecx, 0x1d
and ecx, edx
jmp 0x478440
mov ebx, dword [ebx]
mov esi, edi
and esi, edi
inc esi
neg edx
xchg edx, edi
add edi, 0x19ac47a0
mov edi, edx
jmp 0x477ccb
mov ebx, dword [esp + 0x50]
xchg edi, ecx
inc edx
ror edx, 0x1e
xor ecx, esi
sub edi, esi
xor esi, edx
bswap edi
or esi, ecx
shl esi, 4
jmp 0x4788e8
mov ebx, dword [ebx]
or edi, ecx
mov ecx, esi
or edx, esi
neg ecx
bswap edx
jmp 0x4755fb
mov dword [esp + 0x54], 0
add edx, edi
shr esi, 0x1b
and edi, ecx
xchg edi, esi
shl edi, 0x1a
xor esi, edi
or ecx, 0x1a0caa3a
bswap edi
sub ecx, esi
and edx, 0x1a122aa1
sub ecx, 0x1a13fb25
jmp 0x47752e
mov eax, 2
add esi, edi
sub esi, edx
or edx, esi
not edx
add ecx, 0x1a255b96
sub ecx, esi
not esi
ror ecx, 5
bswap edx
or ecx, edi
dec ecx
jmp 0x478448
mov dword [esp + 0x50], ebx
mov esi, edi
dec esi
mov ecx, edx
jmp 0x47853d