Function at 0x4779ff
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 8], ebx
mov edi, ecx
xchg edi, ecx
inc edi
sub ecx, edx
jmp 0x477088
mov ebx, dword [esp + 0x50]
mov esi, edx
xor esi, edx
add edi, esi
or ecx, edx
inc edx
rol ecx, 0x15
add ecx, edx
bswap ecx
add edi, edx
sub edx, edi
jmp 0x47670d
mov dword [esp + 0xb0], ebx
xor edx, esi
sub ecx, edi
jmp 0x475d0a
add ebx, 0x3c
or edx, edi
mov edi, esi
ror esi, 0x13
add edx, ecx
inc edx
neg edx
ror esi, 0x1c
add esi, edi
mov edi, 0xf0151038
and edi, edx
and esi, edi
add esi, edi
add ecx, edx
add esi, edi
jmp 0x476ea6
mov ebx, dword [esp + 0xb0]
add ecx, edx
xor ecx, edx
neg edx
mov edi, ecx
xor ecx, esi
or ecx, 0xf01c7b3e
jmp 0x476f63
mov dword [esp + 8], 0
xchg edi, edx
add edi, ecx
xor ecx, edi
inc ecx
add ecx, esi
sub edi, ecx
jmp 0x47625e
jne 0x477088
xchg edx, esi
sub edx, esi
jmp 0x4773df
cmp byte [ebx], 0
jmp 0x476b1e
add dword [esp + 0xb0], 0x78
dec edi
xchg ecx, edi
not edx
sub edi, edx
jmp 0x475934
mov ebx, dword [ebx]
xor esi, 0xf0261c1e
shr ecx, 4
and ecx, 0xf026568a
add edi, edx
add edi, ecx
or edi, ecx
sub esi, 0xf026c66c
shl ecx, 7
jmp 0x475eb4
add ebx, 0xc
mov edx, esi
add edi, esi
add edx, ecx
bswap esi
or esi, ecx
add esi, edi
jmp 0x476f9b
mov ebx, dword [esp + 0xb0]
nop
mov esi, edi
xor ecx, edx
xor edx, esi
sub ecx, esi
add esi, edx
dec esi
inc edx
jmp 0x47784f
mov ebx, dword [esp + 8]
dec ecx
neg edi
or esi, 0xf03d1dfc
add esi, ecx
shr edx, 0x16
add edi, esi
jmp 0x4770d0
add dword [esp + 0xb0], 0x20
and edx, ecx
and esi, 0xf03fb6ee
sub edi, esi
dec edi
inc esi
shl edi, 0x17
not edx
sub edi, 0xf040671c
xor esi, ecx
dec ecx
jmp 0x475f7a
mov ebx, dword fs:[ebx]
dec ecx
neg edi
add edi, esi
or edi, edx
jmp 0x4767d1
mov ebx, dword [esp + 8]
xor edx, ecx
sub esi, edx
and ecx, esi
and esi, edi
or edi, 0xf0461ae6
add edi, ecx
and edx, edi
mov edi, edx
jmp 0x4762d1
mov dword [esp + 8], ebx
xor esi, edi
dec esi
inc esi
xchg esi, edx
and esi, 0xf047043c
xchg esi, edx
jmp 0x47622a
mov eax, 4
mov edx, 0xf04db386
or esi, edx
not ecx
or edx, esi
add edi, ecx
xor ecx, edi
jmp 0x477b0d
mov eax, 2
xchg edx, ecx
add edx, 0xf0511c80
or ecx, 0xf0513836
add esi, ecx
neg esi
or ecx, edi
jmp 0x4774c8
mov dword [esp + 0x50], 0
sub edx, esi
add ecx, esi
or edi, edx
mov ecx, edi
add esi, edi
sub esi, edi
sub edx, 0xf053069e
or ecx, edi
xor ecx, esi
sub ecx, edx
dec esi
xchg edi, ecx
jmp 0x47673e
mov ebx, 0x30
sub ecx, edi
xor edi, 0xf053d42c
mov edi, 0xf053f18e
xchg edi, edx
add esi, ecx
xor edi, edx
jmp 0x4760b6
mov ebx, dword [ebx]
mov edx, edi
bswap esi
jmp 0x476a18
sub dword [esp + 0xb0], 8
or ecx, 0xf05bf3f4
add edi, ecx
xchg esi, ecx
shl edx, 6
shr edi, 0x14
xor edx, esi
shl edx, 0x1a
or edx, 0xf05cbadc
or edi, edx
xor edi, esi
rol ecx, 0x1d
or ecx, edi
jmp 0x475c01
add ebx, 0x18
add edi, ecx
or edx, esi
xor edi, 0xf0642d86
xor edx, edi
or esi, ecx
shl edx, 7
bswap edi
neg edx
jmp 0x47662c
add dword [esp + 0xb0], ebx
xchg ecx, edi
add edx, ecx
mov ecx, esi
xor ecx, edi
rol edi, 0xe
xchg edx, edi
jmp 0x476045
mov ebx, dword [ebx]
and esi, ecx
bswap edx
and esi, 0xf0716426
and ecx, edi
xchg ecx, esi
xor edx, ecx
and edi, ecx
add ecx, edi
add edx, esi
or ecx, 0xf0722208
and edx, esi
xchg edi, esi
jmp 0x4775b0
cmp eax, dword [esp + 0xc]
jmp 0x475cae
add ebx, dword [esp + 0xb0]
xchg esi, edi
xchg ecx, edx
xor ecx, edx
shl ecx, 2
bswap edx
xor esi, ecx
mov edi, esi
and edx, esi
mov edx, ecx
or edi, 0xf079b70e
mov edx, esi
xchg esi, edi
sub esi, 0xf07a096c
xor edx, edi
jmp 0x476d91
mov dword [esp + 0xb0], 0
shr edx, 0x15
sub edi, 0xf07a669e
xor esi, edi
or edx, 0xf07a9d3c
mov ecx, edi
xor edx, esi
and ecx, esi
or edx, edi
xchg esi, edi
inc edi
xor edx, ecx
and ecx, edx
nop
add esi, ecx
jmp 0x476e62
add dword [esp + 0xb0], eax
and ecx, edx
or edi, 0xf07c3cfe
mov esi, ecx
mov esi, edi
shr edx, 0x1a
xor esi, edx
neg edi
xor esi, ecx
jmp 0x477964
mov ebx, dword [esp + 0x50]
xor esi, ecx
bswap edi
jmp 0x475b3f
add ebx, 0xc
xor edx, esi
sub edx, ecx
mov esi, ecx
xor esi, ecx
jmp 0x475d1e
pop ebx
xchg esi, edi
sub ecx, 0xf083007e
ror esi, 1
and edi, ecx
add ecx, edi
inc esi
jmp 0x47669c
mov dword [esp + 0x40], eax
and edx, 0xf0872d76
and edi, ecx
xchg edi, esi
add ecx, esi
sub ecx, edx
xchg edx, edi
add edi, ecx
add ecx, 0xf0883960
jmp 0x47638a
add ebx, dword [esp + 0x50]
sub edi, ecx
or edi, 0xf09779fa
jmp 0x477c32
mul ebx
not edx
inc edx
add edx, ecx
xor esi, edx
nop
sub edi, esi
jmp 0x47677e
mov ebx, dword [ebx]
or edi, 0xf0a3097c
add esi, edx
dec edx
mov edx, 0xf0a426ce
jmp 0x4777c2
mov ebx, dword [esp + 0xb0]
xor edi, edx
xchg edi, edx
or esi, edx
xchg esi, ecx
mov edx, edi
inc edx
and edi, 0xf0a5f7ec
mov edx, esi
sub ecx, esi
add esi, edx
xor ecx, edx
xor edx, ecx
jmp 0x476dc2
jne 0x47723e
xor edi, esi
add ecx, edx
xchg edi, esi
bswap edx
sub edi, ecx
shl edi, 0x19
jmp 0x47686b
rol eax, 8
neg esi
neg esi
shl ecx, 5
mov edi, esi
dec edx
shr esi, 0x1e
mov edi, edx
xor edx, 0xf0b0cf74
jmp 0x476cb0
inc ebx
or edx, esi
ror esi, 0x15
inc ecx
add edx, edi
nop
nop
and edx, ecx
or ecx, edx
sub edi, esi
and edi, 0xf0bbc86e
jmp 0x475ce5
mov ebx, dword [ebx]
or esi, edi
add edi, edx
jmp 0x476d9c
mov dword [esp + 0xb0], ebx
add edi, edx
add ecx, edi
sub esi, edx
rol edx, 0x1b
xor edi, edx
xchg ecx, edi
add esi, edi
add esi, edi
xchg edx, ecx
xor edx, esi
shl ecx, 0xe
or edi, edx
jmp 0x477620
mov ebx, dword [ebx]
add ecx, edx
ror edi, 0x1d
xchg esi, edx
sub ecx, esi
jmp 0x4775bf
mov dword [esp + 0xb0], ebx
and esi, ecx
or edx, 0xf0c4ab42
add esi, edx
or esi, edx
sub ecx, 0xf0c4fdf6
not edx
and edi, ecx
shr edx, 0x17
bswap edi
and edi, 0xf0c591f2
not edi
xchg edx, ecx
jmp 0x475fe3
mov dword [esp + 0xc], ebx
xchg ecx, esi
sub esi, 0xf0c8d7d0
or edi, 0xf0c8f306
xor edx, 0xf0c9104c
mov edx, 0xf0c92c2e
and ecx, 0xf0c94954
add ecx, edi
not ecx
jmp 0x476289
mov ebx, dword [ebx]
mov ecx, esi
dec edi
inc esi
mov esi, 0xf0ca915a
and edi, ecx
not edx
and ecx, edi
xor esi, edx
jmp 0x4759f4
mov ebx, dword [ebx]
or edx, edi
add edi, edx
not edx
mov ecx, edx
and edi, 0xf0d0eb24
inc esi
jmp 0x477a41
mov ebx, dword [ebx]
rol ecx, 0xd
rol edi, 0x1b
mov edx, esi
sub ecx, esi
and edi, esi
mov esi, edx
jmp 0x4771ef
add esp, 0xc0
mov edi, esi
dec esi
sub ecx, 0xf0d475c6
or ecx, edi
jmp 0x477125
xor eax, eax
shl edi, 0xd
sub esi, edx
sub edi, esi
add esi, ecx
jmp 0x47723e
inc dword [esp + 0x40]
mov edx, edi
sub esi, edi
inc edi
neg edi
jmp 0x477902
add ebx, dword [esp + 0x40]
and ecx, esi
mov edx, esi
inc esi
or ecx, edx
jmp 0x4761c9
add ebx, dword [esp + 0x50]
add edi, 0xf0ddc4d8
sub edx, edi
add edi, esi
add edx, ecx
xor esi, edx
sub edi, esi
jmp 0x4758d7
ret
mov ebx, dword [ebx]
and edi, 0xf0e51880
add edx, edi
inc edi
xor edx, esi
sub ecx, esi
and ecx, edi
and edx, 0xf0e5bc1e
xchg esi, edi
or edx, edi
dec esi
bswap esi
and ecx, esi
and edi, edx
sub edx, 0xf0e6849e
jmp 0x47741e
xor al, byte [ebx]
sub esi, edi
xor edi, ecx
xor ecx, esi
xor edi, esi
xor esi, 0xf0e8084a
xor ecx, edx
jmp 0x476bb4
add dword [esp + 0xb0], 4
xor esi, ecx
xchg esi, edx
rol esi, 0xc
add ecx, edx
jmp 0x476ac0
mov ebx, dword [ebx]
or ecx, edx
neg ecx
and edx, edi
mov edi, 0xf0f6e468
and esi, 0xf0f701e4
shl esi, 3
add esi, 0xf0f73e14
mov ecx, edi
add edi, 0xf0f77464
inc ecx
jmp 0x476486
mov ebx, dword [esp + 0x40]
sub edi, esi
neg esi
add edx, 0xf0fc3f40
xor edi, esi
or edi, esi
and ecx, esi
or edi, 0xf0fcb146
and esi, ecx
jmp 0x477562
mul ebx
sub esi, edi
inc esi
or ecx, edx
ror ecx, 2
xchg esi, ecx
inc ecx
and esi, 0xf1019ba4
inc edi
jmp 0x4768ee
mov dword [esp + 0x50], ebx
dec edi
add edi, edx
jmp 0x4767c1
add ebx, dword [esp + 0x50]
neg esi
xor edx, ecx
sub esi, edx
mov ecx, 0xf1045e40
rol edx, 0x1c
bswap ecx
jmp 0x476129
mov ebx, dword [esp + 0x50]
add esi, edx
or esi, edi
rol ecx, 0x19
and edx, ecx
and edi, esi
xchg esi, edi
add edx, ecx
xor esi, edx
and ecx, edi
and ecx, esi
ror ecx, 0xf
add edx, 0xf1081d06
jmp 0x4764e6
add ebx, dword [esp + 0x50]
or esi, edi
mov esi, 0xf1161766
ror ecx, 2
sub edx, ecx
xor edx, edi
and edx, 0xf1168a78
and ecx, esi
xchg edi, edx
jmp 0x476fcf
mov ebx, dword [ebx]
add edi, edx
sub edi, edx
and edx, esi
and edi, esi
or esi, edx
and ecx, edx
jmp 0x477109
add dword [esp + 8], 4
xor ecx, edi
not edi
inc edx
rol edi, 0x18
jmp 0x476109
mov ebx, dword [esp + 0xb0]
or ecx, 0xf12483de
neg ecx
and edx, edi
or ecx, 0xf124d75c
ror ecx, 0xf
xor edi, esi
jmp 0x476aab
sub esp, 0xc0
dec ecx
xchg ecx, esi
neg edi
bswap edx
and ecx, esi
and edi, ecx
jmp 0x477b35
add ebx, dword [esp + 0x50]
ror edi, 0xa
not edx
mov ecx, edx
xor edx, 0xf12beb6e
mov edi, edx
xor ecx, edi
xor edx, esi
inc esi
jmp 0x476dd2
movzx ebx, word [ebx]
dec edx
inc ecx
sub edx, esi
xchg ecx, edi
add ecx, esi
xor esi, 0xf132af34
dec ecx
sub esi, edx
shr ecx, 8
rol esi, 0x1f
or esi, 0xf1333ef2
ror esi, 0x11
jmp 0x476a3a
mov dword [esp + 0x40], 0
sub edi, 0xf13380e6
or edx, edi
or edx, 0xf133b786
xor edx, 0xf133d4cc
sub edi, esi
ror esi, 0xb
mov esi, edx
mov ecx, 0xf134467a
add edx, esi
xor esi, edi
jmp 0x475c5b
push ebx
xor esi, edi
mov edi, esi
xchg ecx, esi
mov edx, 0xf13bc9e6
neg edx
xor ecx, edi
xor esi, ecx
xor esi, ecx
jmp 0x476fe5