Function at 0x4779e6
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [ebx]
xchg edi, ecx
xor edi, edx
and edi, esi
sub edi, edx
and edi, edx
neg esi
shl ecx, 9
and ecx, 0xc3bc343c
or edx, 0xc3bc7273
and edi, edx
mov esi, 0xc3bceb49
jmp 0x477412
jne 0x4775c9
and ecx, edx
add edi, 0xc3c4f89f
add edi, ecx
bswap ecx
xchg esi, edx
mov esi, 0xc3c5fe55
xor edi, esi
add ecx, edi
or ecx, esi
and edi, edx
inc edi
add esi, ecx
jmp 0x47682c
add ebx, 0x3c
sub ecx, 0xc3d417d7
and edi, esi
not esi
add edx, edi
xchg esi, edi
or edx, esi
mov edi, 0xc3d586e4
rol edx, 2
jmp 0x477717
mov dword [esp + 0x68], ebx
and edi, edx
xor edx, ecx
neg edi
and edi, ecx
mov ecx, 0xc3da21c5
jmp 0x475462
mov ebx, dword [ebx]
rol edx, 4
mov edx, esi
mov ecx, esi
add edx, ecx
add esi, edi
rol edx, 0x1c
xor edi, ecx
or esi, ecx
neg ecx
jmp 0x47798d
mov ebx, dword [esp + 0x60]
xchg edx, esi
not ecx
xchg edi, edx
and esi, ecx
xor edi, esi
sub ecx, 0xc4083699
mov ecx, 0xc40874cc
or ecx, edx
add edx, edi
xor edi, esi
xchg edi, edx
shl edx, 9
add ecx, edi
jmp 0x4768f8
mov ebx, dword [ebx]
neg ecx
shr esi, 0x12
sub edi, edx
or ecx, 0xc4368ed9
add esi, edx
and edi, esi
dec ecx
or esi, edx
or edi, 0xc437c926
or edx, 0xc43807ae
xchg ecx, esi
shr edi, 5
xchg edx, edi
sub ecx, edx
nop
sub edx, esi
jmp 0x474d44
mov ebx, dword [ebx]
add edi, 0xc445ff19
or edi, ecx
add edi, 0xc4467807
shl ecx, 0xb
or edi, edx
or edi, esi
mov edi, esi
jmp 0x4765ec
inc ebx
xchg edx, esi
neg esi
add ecx, edi
not edi
shr edx, 0x19
add edi, edx
xor esi, 0xc465a0c1
mov esi, edx
add ecx, esi
jmp 0x47603d
mov ebx, dword [esp + 0x94]
bswap edi
or edi, edx
sub edx, esi
add ecx, esi
shr edx, 5
bswap edx
add ecx, esi
xor edx, ecx
shr edx, 0x1d
jmp 0x477a60
add ebx, 0xc
shr edx, 5
xor edi, 0xc48f1817
ror esi, 0xa
and edi, ecx
dec edx
sub edx, 0xc4901f72
add edx, esi
add edi, esi
and ecx, edx
shr edx, 0x1a
jmp 0x474503
mov dword [esp + 0x94], 0
xor edi, edx
xchg esi, edi
and edx, ecx
sub ecx, edi
rol ecx, 2
sub edx, edi
rol esi, 0x12
add edi, 0xc497221e
xchg ecx, edx
sub esi, edx
jmp 0x476505
mov dword [esp + 0x94], ebx
add ecx, edi
add esi, 0xc4f2abaf
shr edx, 0x1b
jmp 0x475ba6
mul ebx
or edi, esi
add ecx, edi
xchg esi, ecx
sub edx, ecx
mov edx, esi
or ecx, edi
add edx, 0xc5003f3b
add edx, esi
and ecx, edx
mov edx, 0xc500ee87
or esi, edx
jmp 0x4774c2
add dword [esp + 0x60], 4
xchg ecx, edi
and edi, esi
and edi, ecx
inc ecx
add ecx, 0xc509a145
add edi, ecx
jmp 0x4746ea
mov ebx, dword [esp + 0x94]
mov edi, 0xc5159d72
bswap ecx
sub edi, 0xc51626a9
or ecx, edx
sub edi, esi
xor edi, ecx
ror esi, 0x1c
jmp 0x47667a
mov dword [esp + 0x68], ebx
and esi, 0xc53e665a
add ecx, edi
add edi, ecx
xor ecx, edi
shr edx, 0xd
xor esi, 0xc53fa30f
jmp 0x476045
mov ebx, dword [esp + 0x68]
and edx, esi
and edx, ecx
inc ecx
or esi, 0xc56997d2
neg esi
and esi, edx
sub esi, edx
and edx, esi
bswap edi
sub ecx, edx
sub ecx, edx
jmp 0x477ae4
add ebx, dword [esp + 0x94]
xor edx, esi
rol edx, 0x11
xor edi, edx
bswap ecx
and edi, edx
or edx, edi
add edi, 0xc56d0b3c
shr esi, 0xa
and edi, esi
and ecx, 0xc56dbc37
and ecx, 0xc56df7bb
add esi, edi
jmp 0x4770bc
mov ebx, dword [esp + 0x68]
or edi, ecx
sub esi, edi
jmp 0x476528
mov dword [esp + 0x4c], ebx
or esi, edx
xchg esi, edx
xchg edx, esi
xor ecx, edx
mov ecx, esi
xor edx, esi
add edx, ecx
neg edx
sub esi, ecx
jmp 0x47713e
xor eax, eax
and edi, esi
xchg ecx, edi
xchg ecx, edx
add ecx, 0xc58b1a3a
xchg ecx, esi
rol edi, 0xa
xchg edi, esi
sub esi, 0xc58c2434
xchg ecx, edx
sub edx, edi
sub edi, edx
shl ecx, 0xd
jmp 0x4775c9
mov ebx, dword [esp + 0x94]
ror edx, 9
ror edx, 0xb
add esi, edi
add ecx, esi
inc edi
xor edx, esi
add ecx, edx
jmp 0x474484
add dword [esp + 0x68], 4
and ecx, 0xc5a4ae66
dec esi
or esi, edi
xor esi, ecx
xor ecx, edi
not esi
shl edi, 0x12
and edx, edi
jmp 0x477b9a
mov ebx, dword [esp]
sub edi, ecx
dec edi
mov ecx, edx
mov edx, 0xc5d32cac
jmp 0x477ab7
mov dword [esp], eax
rol esi, 9
xor edx, 0xc5d40a99
or ecx, edi
not ecx
add ecx, esi
add edi, ecx
rol edx, 0x12
and esi, 0xc5d5864b
add edi, 0xc5d5c448
and edx, esi
sub ecx, 0xc5d63fd1
jmp 0x477112
movzx ebx, word [ebx]
mov esi, edi
inc edx
and edi, ecx
xor edi, ecx
sub ecx, 0xc5e8a2ba
xchg esi, edi
xchg esi, ecx
rol edi, 5
ror esi, 6
xchg edx, edi
add edx, esi
jmp 0x47531d
add ebx, dword [esp + 0x94]
sub edx, ecx
mov edx, esi
or edi, esi
add ecx, 0xc5ed47c6
sub esi, edx
neg edx
jmp 0x4773c2
inc dword [esp]
or edi, ecx
xor edx, edi
sub ecx, esi
mov ecx, edx
jmp 0x4753a8
cmp byte [ebx], 0
jmp 0x4743a2
add dword [esp + 0x68], 0x78
and ecx, esi
and edx, edi
xor esi, edi
sub esi, edx
add edx, edi
xor esi, edi
sub esi, edx
xor edi, 0xc5f88559
and ecx, edi
add edi, ecx
jmp 0x474c25
mov ebx, dword [esp + 0x68]
shr ecx, 0xf
xor esi, edx
sub ecx, esi
jmp 0x477533
mov ebx, dword [ebx]
shl esi, 0x1a
mov esi, 0xc61f6818
mov ecx, edx
add edi, ecx
xchg esi, ecx
xchg edx, ecx
sub esi, edx
sub ecx, edi
mov edi, esi
xchg esi, edi
add ecx, edi
xor ecx, edi
jmp 0x475278
mov dword [esp + 0x68], 0
and esi, edx
bswap edx
ror esi, 0x16
sub edi, ecx
shr edx, 6
neg ecx
and ecx, esi
xor edx, esi
inc ecx
jmp 0x475ad0
mov ebx, dword [ebx]
sub edx, ecx
mov ecx, edx
mov edi, ecx
shr ecx, 0x1d
and ecx, esi
mov esi, edx
bswap edx
add edx, 0xc653f085
sub ecx, 0xc6543e74
shr ecx, 4
jmp 0x475949
add ebx, dword [esp + 0x94]
sub edi, esi
inc edx
xchg ecx, esi
add edx, esi
and esi, edx
mov ecx, edi
and ecx, 0xc6629dc7
add edx, ecx
add edi, ecx
jmp 0x476e93
add dword [esp + 0x68], ebx
mov edx, esi
xor edi, edx
xor edi, 0xc66d1c5a
or edx, esi
sub ecx, edi
or ecx, esi
xor esi, ecx
xor edi, edx
jmp 0x476e07
rol eax, 8
and ecx, 0xc6787dea
or edx, ecx
sub esi, ecx
sub edi, esi
or esi, 0xc67965eb
or esi, edi
ror ecx, 0xb
or edi, edx
bswap edi
sub esi, 0xc67a9e71
rol edx, 6
and edx, esi
dec edi
jmp 0x474b29
cmp eax, dword [esp + 0x4c]
jmp 0x477471
pop ebx
sub edx, ecx
sub edi, esi
and ecx, edx
dec ecx
and esi, ecx
ror esi, 0x12
shl esi, 0x1f
jmp 0x476808
ret
mov ebx, dword [ebx]
xchg ecx, edx
and edx, esi
neg edx
and edi, 0xc69af1bd
sub ecx, 0xc69b2f4e
xor edx, esi
xor esi, ecx
jmp 0x477a0a
add ebx, dword [esp + 0x94]
and edi, 0xc6bb2b81
sub esi, edi
xor edx, ecx
and esi, ecx
sub esi, edx
sub edi, 0xc6bc6f04
or edx, edi
xchg edi, esi
jmp 0x47765b
add dword [esp + 0x68], 0x20
xchg esi, edx
neg ecx
sub edx, esi
and esi, ecx
or edi, ecx
add edx, ecx
or ecx, edi
xchg esi, ecx
jmp 0x475a1d
mov dword [esp + 0x60], ebx
sub esi, edx
or edx, 0xc701caca
xchg edi, esi
add ecx, esi
xor ecx, 0xc7028f29
jmp 0x477423
push ebx
inc ecx
and esi, edx
xor ecx, edx
sub esi, edx
and edi, 0xc71b7d34
or ecx, edi
bswap esi
shr edi, 0x1e
jmp 0x475aee
mov eax, 4
sub ecx, edx
or ecx, esi
xchg ecx, esi
xchg edi, esi
rol edx, 6
dec edx
mov edx, ecx
shl edi, 3
xor ecx, 0xc72489e8
sub edx, esi
or edi, 0xc72503be
neg edi
sub esi, edi
rol ecx, 9
jmp 0x475f73
mov dword [esp + 0x60], ebx
xor edx, 0xc72b0482
rol ecx, 0x19
xor edx, edi
and esi, 0xc72bca62
sub edi, ecx
neg edx
and edx, edi
jmp 0x476008
sub dword [esp + 0x68], 8
and edx, edi
inc edi
shr ecx, 0x1a
rol edx, 7
rol esi, 0x12
and esi, 0xc7317e9b
shr edi, 0x10
ror edx, 9
xor edx, esi
not edi
shl ecx, 0xa
jmp 0x47616b
mov ebx, 0x30
mov ecx, esi
sub esi, edi
and edx, edi
jmp 0x47769d
add esp, 0xd8
or ecx, edx
rol ecx, 5
add esi, 0xc7651bab
sub ecx, 0xc76558a2
dec ecx
add edi, edx
and edi, ecx
sub ecx, edx
not ecx
mov edx, edi
sub ecx, 0xc7670e45
ror ecx, 0xa
shl edx, 0xe
jmp 0x4768d8
add ebx, 0x18
mov edi, ecx
neg edi
sub ecx, edi
ror esi, 0x15
jmp 0x476279
mov eax, 2
and esi, 0xc76ad145
ror ecx, 4
add ecx, esi
add ecx, 0xc76b8cdd
xor edx, esi
xor edx, ecx
bswap esi
or esi, 0xc76c8342
not edx
jmp 0x475e69
jne 0x476008
mov edx, esi
dec edi
xor esi, edx
not edi
or edx, 0xc7703923
xor ecx, edi
inc esi
inc ecx
sub ecx, edx
and edi, esi
not edi
jmp 0x475c5c
add dword [esp + 0x68], eax
add ecx, edi
mov ecx, 0xc7757142
xchg edi, edx
xor edx, edi
or ecx, esi
xchg esi, ecx
neg edi
sub esi, ecx
add ecx, esi
mov ecx, esi
jmp 0x475924
mov ebx, dword [esp + 0x60]
add edi, edx
ror ecx, 4
add ecx, 0xc779a798
dec ecx
shl edi, 9
and esi, 0xc77a6568
or ecx, edx
xor esi, edi
mov ecx, 0xc77b1e37
mov ecx, edi
jmp 0x4776f7
mov ebx, dword [ebx]
or edi, esi
or esi, 0xc77d9a96
and edx, edi
mov ecx, edx
add esi, 0xc77e540e
xor edi, esi
mov edi, ecx
xchg ecx, edi
xor edx, 0xc77f5915
rol ecx, 0x15
mov edx, 0xc77fd733
jmp 0x476ac8
xor al, byte [ebx]
shl ecx, 4
or edi, esi
mov edi, ecx
sub ecx, edx
rol edx, 5
shr ecx, 0x1b
or edi, edx
jmp 0x476727
mov ebx, dword [ebx]
inc edx
rol edx, 0xf
shr esi, 0xe
add edi, ecx
or edx, edi
add ecx, 0xc78c83ec
jmp 0x4744ce
mov dword [esp + 0x68], ebx
xor ecx, esi
dec ecx
add ecx, edx
or edi, 0xc791e4c8
and esi, edi
add edi, esi
and ecx, edi
xor edx, esi
mov edi, 0xc7935a1b
and edx, esi
jmp 0x4774f5
mov ebx, dword fs:[ebx]
and esi, 0xc795f2fa
mov ecx, esi
add esi, edx
add ecx, 0xc796a2e0
mov edi, 0xc796de5d
xor edi, edx
xchg edx, esi
add edi, 0xc797a303
add edx, ecx
shl edi, 9
sub edi, esi
sub ecx, edi
add edx, ecx
or edi, ecx
not esi
jmp 0x477bba
mov dword [esp + 0x60], 0
xor esi, edx
add esi, edi
mov esi, ecx
sub edx, 0xc79a53da
mov edx, ecx
shr edi, 0xe
shl ecx, 0x1b
jmp 0x474da5
add ebx, dword [esp]
inc esi
or ecx, esi
sub ecx, 0xc79be289
xchg edx, esi
xor ecx, 0xc79c5bbe
shl ecx, 6
jmp 0x477061
mov ebx, dword [ebx]
xchg edi, esi
rol edx, 6
mov ecx, edi
xor edx, ecx
neg edx
xchg esi, ecx
xor edi, ecx
xor edi, ecx
sub ecx, edi
xor esi, ecx
mov edi, 0xc79f948c
not edx
ror ecx, 0x1f
jmp 0x4756be
mov ebx, dword [ebx]
mov esi, edi
sub edx, ecx
add ecx, 0xc7ca2d77
and esi, edi
xchg ecx, edi
mov edx, esi
xchg esi, edi
or edi, 0xc7cb5603
xor edi, ecx
xchg ecx, edi
add esi, 0xc7cc1c32
add ecx, edi
and edi, 0xc7cc9385
mov ecx, 0xc7cccf1d
ror edx, 2
mov ecx, edi
jmp 0x47430a
sub esp, 0xd8
sub edi, edx
or edx, edi
rol edx, 0x11
and edx, 0xc7d01a48
xor edx, edi
or ecx, 0xc7d0939c
shr edx, 0x18
inc edi
jmp 0x477bd7
add ebx, dword [esp + 0x94]
xchg esi, edx
or esi, ecx
ror esi, 5
sub edi, edx
xchg edx, esi
add esi, edi
xchg edi, esi
xor ecx, edx
jmp 0x476ff5
add ebx, dword [esp + 0x68]
inc edi
xchg ecx, edi
xor edx, ecx
xor edi, esi
add edx, edi
xor esi, edx
jmp 0x4775fe
mul ebx
xchg ecx, edi
sub ecx, edi
xchg ecx, edi
mov edx, esi
and edx, edi
jmp 0x475e7f
mov ebx, dword [ebx]
add edi, 0xc7e1a69e
or esi, 0xc7e1e25c
not ecx
sub edi, 0xc7e25dfd
add esi, 0xc7e29915
add ecx, edx
xor edi, edx
or edx, esi
jmp 0x475fb5
mov ebx, dword [esp + 0x68]
xchg ecx, edx
not edi
add esi, edi
dec edx
sub edi, edx
mov ecx, edx
bswap esi
xchg edi, esi
mov edx, 0xc7ef185b
jmp 0x474a16
add ebx, 0xc
and edi, ecx
inc edx
or ecx, esi
sub edi, edx
not esi
inc ecx
ror esi, 0x1c
and edi, ecx
or esi, 0xc7f15883
jmp 0x474942
mov dword [esp], 0
and edi, 0xc7f1a827
sub ecx, edx
not edi
xchg edi, ecx
mov edi, edx
or esi, edx
dec edi
bswap ecx
add esi, ecx
ror edx, 0x16
mov edx, esi
jmp 0x4776d3