Function at 0x477d63
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0xc4], esi
mov edx, 0xeaddce9c
shl edi, 0x1a
and edx, ecx
bswap ecx
bswap ecx
dec edx
xor edx, ecx
xor edi, ebx
jmp 0x476c89
add esp, 0xd0
xor ecx, ebx
add edi, edx
mov ebx, 0xeafae478
xchg ebx, edi
or ecx, 0xeafbb4f4
add edi, 0xeafc1cec
xor ebx, 0xeafc840e
or edi, edx
jmp 0x476751
push esi
sub ecx, 0xeb1fd4ba
and ebx, ecx
xor ecx, edx
ror ebx, 9
and ebx, edx
not edx
jmp 0x475f19
add esi, 0xc
ror ecx, 9
sub ebx, edx
sub ecx, 0xeb5a34fa
mov edi, ecx
or edx, ecx
xor edx, ebx
add edi, edx
inc ecx
jmp 0x476271
mov esi, dword [esi]
add ebx, edx
or ecx, edx
neg edx
mov ecx, edi
xor edx, 0xeb61b784
rol ebx, 0x12
xchg ebx, edx
and ebx, ecx
xchg ebx, edx
xchg edi, edx
jmp 0x475ea7
mov dword [esp], esi
sub ecx, edx
and ecx, edi
sub ecx, edx
not ebx
not ecx
sub edi, edx
or edi, 0xebbaf54a
add edx, ecx
bswap ebx
or edx, 0xebbcc87e
jmp 0x476a12
movzx esi, word [esi]
sub edx, edi
and ebx, 0xebc4ba26
or edi, ecx
and ebx, 0xebc5f0a4
jmp 0x477796
mov dword [esp + 0x80], 0
ror edi, 8
sub edi, ecx
ror ebx, 0xb
sub edi, ecx
neg edi
add ebx, 0xebe77be0
rol edx, 0x1a
mov ebx, 0xebe8db22
or ecx, ebx
bswap ecx
or edi, ebx
xchg ecx, ebx
add ecx, edx
or ebx, 0xebec77bc
jmp 0x477ab9
mov dword [esp], esi
or ecx, ebx
add edi, ecx
xchg ebx, edi
bswap ecx
shl ecx, 0x1e
xchg ecx, edi
sub edi, ebx
add edi, edx
add ebx, 0xec3526fc
and ecx, edx
xchg ebx, edi
add ebx, edi
rol edx, 3
rol ebx, 0x15
jmp 0x4768cb
mov esi, dword [esi]
or ecx, edi
neg edi
xor edx, edi
and ebx, ecx
dec edi
bswap ebx
shr edi, 0x1a
or ebx, 0xec4baf8c
nop
add edx, edi
xchg edx, ecx
xchg edx, ecx
mov ebx, edi
and ecx, ebx
jmp 0x4760ff
mov esi, dword [esp + 0xc4]
and edi, edx
nop
bswap edi
rol edi, 0x1b
or edi, 0xec51a304
nop
mov edx, ebx
or ebx, edi
jmp 0x475965
add esi, dword [esp + 0x80]
sub edx, ebx
or edx, 0xec63f668
xor edi, ebx
xchg ebx, edi
xor ebx, ecx
ror ecx, 0xa
or ecx, 0xec66f7d8
sub ecx, ebx
sub ecx, edi
add ebx, edx
jmp 0x4757a3
cmp byte [esi], 0
jmp 0x47768a
xor eax, eax
xchg ecx, ebx
shr ecx, 0x14
or edi, ebx
xchg ecx, edx
add edx, ebx
ror edx, 0x10
dec edx
or ecx, ebx
jmp 0x47748a
add dword [esp + 0xc4], esi
sub edi, 0xec702680
mov edi, 0xed386386
mov ecx, edi
add edx, edi
or edx, edi
sub edx, ecx
or ebx, edx
or ecx, 0xed39e82a
jmp 0x476157
mov dword [esp + 0xc4], esi
bswap ebx
dec edi
not edx
xor edx, ecx
mov edi, ecx
add edi, edx
jmp 0x476a33
add dword [esp], 4
mov edx, ebx
and edi, edx
xor ecx, ebx
dec ebx
add ecx, 0xed94a024
neg edx
and edi, 0xed951b36
sub edi, ecx
shr ebx, 0x11
add edi, 0xed95d846
rol edi, 2
mov edi, ebx
jmp 0x47712f
mov esi, dword [esp + 0x80]
xor ebx, 0xed9c3e2c
mov ebx, edx
mov edi, 0xed9cb188
xor edi, edx
ror ecx, 4
xchg edi, ecx
shr edi, 0x1f
ror ecx, 0x1c
jmp 0x475f31
add esi, dword [esp + 0x80]
mov ebx, edi
xchg ecx, ebx
mov ecx, ebx
xchg ecx, edx
xchg edi, ebx
xor edi, ecx
add edx, ebx
xchg ecx, edx
jmp 0x475b04
add esi, 0x3c
neg edi
or ecx, ebx
mov edi, 0xedab3c44
add ebx, edx
add ecx, edi
sub ebx, 0xedacab90
jmp 0x4762a1
mov esi, dword [esi]
mov ecx, 0xedad00b2
sub edi, 0xedad3f30
xchg edx, edi
xor ebx, 0xedadbd74
and ecx, edi
xchg ecx, ebx
and edx, edi
shl ecx, 0x1e
ror ecx, 0xb
shr edx, 0x1e
add edi, edx
and edi, ebx
ror ebx, 0x17
not edi
jmp 0x477a9e
add dword [esp + 0xc4], 0x20
xchg ebx, ecx
and edi, edx
mov ebx, edi
and edi, 0xedb48cea
mov edx, ecx
xchg ecx, edi
xchg ebx, edx
add edi, edx
jmp 0x47691d
mov esi, dword [esp + 0x80]
or edx, 0xedb5d518
ror edx, 0xf
add ebx, ecx
and edx, 0xedb6a1cc
mov ebx, edi
xchg edx, edi
not ebx
neg ecx
jmp 0x4760e4
mov esi, dword [esi]
not ebx
xchg edx, edi
or edi, edx
not ebx
jmp 0x475d9d
mov esi, dword [esi]
sub edx, ecx
sub ecx, 0xedcb2c24
add ebx, ecx
inc edi
sub ebx, 0xedcbe77a
mov edi, edx
neg edx
xor edx, ecx
inc ebx
mov ecx, edx
or ebx, edi
not edi
jmp 0x475fa6
add esi, dword [esp + 0xc4]
and ecx, 0xedd2cde2
neg ebx
and edi, 0xedd34c96
xchg ecx, edx
or edi, 0xedd3da9a
xor edi, ebx
jmp 0x476ed1
add esi, dword [esp + 0x38]
mov edx, edi
add edx, edi
sub ebx, edi
add ecx, edi
jmp 0x476a71
add esi, dword [esp + 0x80]
ror edx, 0x16
xor ecx, ebx
ror edx, 0xe
xor ecx, 0xede1dae4
xor edi, ebx
dec edi
jmp 0x4756ad
mov esi, dword fs:[esi]
ror ebx, 4
xchg ecx, edx
sub edx, ebx
mov edx, ecx
xchg edi, ebx
and edx, ebx
add edx, ecx
and ebx, edi
xchg edi, edx
and ecx, edi
xor edi, ecx
sub ecx, 0xf0038d4a
jmp 0x4773f7
mov dword [esp + 0x80], esi
mov edi, 0xf089331c
and edx, ebx
nop
rol ebx, 0x14
jmp 0x476178
ret
mov eax, 2
mov ebx, 0xf0b63be8
inc ebx
add ebx, edi
shl ebx, 4
xor ebx, 0xf0b737ae
and ebx, edx
jmp 0x476aed
mov esi, dword [esp + 0xc4]
add ecx, edx
add edi, 0xf0bbd2ba
or edi, edx
ror edi, 0xd
and ebx, edi
xchg ebx, edi
sub edx, edi
not ecx
shr edx, 0xb
xor edi, ebx
or edx, 0xf0be154a
and edx, 0xf0be558c
xor edx, ebx
xor edi, 0xf0bed24e
jmp 0x477081
inc dword [esp + 0x38]
shl ebx, 0x1a
add edx, 0xf0ce1d2c
and ecx, edx
mov edx, ebx
xor edx, 0xf0cee51a
xchg ecx, edi
jmp 0x475fe4
add dword [esp + 0xc4], 0x78
mov edi, ecx
bswap edx
xchg ecx, ebx
xor edx, ecx
and ebx, 0xf0d06fc4
sub ecx, edx
jmp 0x476bb4
mov dword [esp + 0x38], eax
not edi
dec edx
add edi, 0xf0d1926a
ror ebx, 0x18
shr ecx, 0xc
xor edx, ecx
shl edx, 7
inc ecx
jmp 0x47754b
mov eax, 4
bswap edx
mov ebx, ecx
and ebx, 0xf0d3b2c8
rol ecx, 0x18
add edx, ebx
mov edi, ebx
xchg ecx, edi
mov edx, 0xf0d4f7be
xchg edx, ebx
add ecx, ebx
neg ebx
and edi, ebx
jmp 0x475b46
mov esi, dword [esp + 0x38]
ror ebx, 5
mov ecx, ebx
and ebx, ecx
add edx, 0xf0db65a6
mov edi, 0xf0dba36c
add ecx, edi
not ebx
mov edx, edi
sub ecx, ebx
xchg ebx, edi
jmp 0x477a82
mov esi, dword [esp + 0x80]
and ecx, edx
add edx, 0xf0e81c42
and ecx, 0xf0e85b46
dec edx
and ecx, 0xf0e8da10
xor edi, ecx
xchg edi, ecx
sub ecx, edx
or ebx, ecx
xor edi, ebx
xor ebx, edi
or ecx, ebx
jmp 0x476307
mov esi, dword [esp]
mov edx, 0xf0f5d504
sub ecx, ebx
sub ecx, 0xf0f652b4
or edx, edi
or ebx, ecx
mov ecx, ebx
sub edx, edi
add edx, 0xf0f794c2
dec ebx
sub edx, ecx
jmp 0x476368
jne 0x476a12
sub ebx, 0xf0fd1978
or edx, ebx
add edi, ecx
or ecx, ebx
not ebx
or ecx, 0xf0fe4f50
add ecx, ebx
inc ecx
shl edx, 0xe
nop
jmp 0x477414
mov esi, dword [esi]
neg ecx
rol edx, 0xa
and edi, edx
xor ebx, ecx
xchg edx, ebx
add edx, ebx
add edx, ebx
sub edi, edx
sub edx, edi
or ecx, edx
jmp 0x477d8f
add esi, dword [esp + 0x80]
inc ecx
xor ebx, ecx
or ecx, edx
sub ecx, edi
or ecx, 0xf1400338
and ebx, edx
sub ecx, ebx
not ecx
jmp 0x475ccd
mov esi, 0x30
sub edi, edx
not ecx
or edx, ebx
and ecx, ebx
or ecx, 0xf145440e
shr ebx, 8
shr ebx, 0xf
rol edx, 0x17
add ecx, 0xf1465382
and ecx, ebx
sub edi, ebx
and edi, ecx
or ecx, 0xf1474876
not edx
jmp 0x476490
mov esi, dword [esi]
or ecx, edx
or ebx, edi
xor edx, ecx
shl ebx, 0x15
jmp 0x4760ac
mov esi, dword [esp + 0xc4]
xchg edi, edx
xor edx, edi
xor ebx, edx
inc ebx
not edx
mov edx, ebx
xchg ecx, edx
xor edx, ecx
mov edi, ebx
and edx, ecx
xor ebx, edx
or ebx, ecx
ror edi, 0x10
add edi, edx
jmp 0x4776d8
mov esi, dword [esp]
add ecx, edx
add ecx, 0xf19d7c18
add ecx, edi
inc edx
xor edi, edx
mov ecx, 0xf19e6d54
dec ebx
add edx, ebx
sub edx, ecx
xchg ecx, ebx
or ecx, ebx
xor ebx, ecx
jmp 0x4772ed
inc esi
shr ebx, 0xc
and edi, edx
not edx
sub ebx, edi
rol edx, 0x1c
add ebx, ecx
not ecx
inc ebx
xor ecx, 0xf1a2cf24
ror ecx, 5
and edx, 0xf1a34ac4
mov ecx, edx
jmp 0x475f11
pop esi
xchg edi, edx
xor ebx, ecx
add edx, ecx
neg ecx
or edi, edx
and ecx, ebx
and ebx, edi
rol edx, 3
sub ebx, edx
xor edi, 0xf1a9a328
jmp 0x477441
mov esi, dword [esi]
bswap ebx
mov ebx, ecx
shl ecx, 1
xchg ecx, ebx
and ecx, 0xf1b743d0
and edi, edx
xor edi, ecx
sub edx, edi
jmp 0x4763ea
mov esi, dword [esi]
add edi, 0xf1bf7652
and edx, 0xf1bfb568
xchg edi, ebx
xor ebx, ecx
sub edi, edx
inc ecx
or edi, ecx
xor ecx, edx
jmp 0x477bdc
add esi, 0xc
ror edi, 0x18
xor ecx, 0xf1d2d3ec
or ebx, edx
xor edx, 0xf1d34e5c
xor ecx, edi
neg edi
jmp 0x477dfd
add dword [esp + 0xc4], 4
xor ebx, edx
xor ebx, edi
or ebx, 0xf1d49dd4
and edx, ebx
add ecx, ebx
or edi, ebx
or ecx, edi
shl ecx, 0xd
xor ebx, 0xf1d69e74
inc ebx
xor ecx, ebx
xor edx, ebx
jmp 0x477091
cmp eax, dword [esp + 0x84]
jmp 0x476ce9
xor al, byte [esi]
mov edx, ebx
bswap ebx
add ecx, edx
mov edi, edx
xor ebx, edi
xor edi, ebx
jmp 0x477521
rol eax, 8
mov edx, edi
add ecx, ebx
inc edx
xor ecx, edi
mov edx, 0xf1e940fa
add edx, ebx
or edx, ecx
and edx, 0xf1ea08be
bswap edi
xor ebx, edx
xor edi, ecx
xor edi, 0xf1eb0314
jmp 0x477163
sub dword [esp + 0xc4], 8
xor edx, ecx
ror edi, 9
sub ecx, 0xf1ebd8be
add edi, edx
ror ecx, 0x1b
xchg ecx, ebx
neg edi
or edi, 0xf1ed3006
bswap edx
xor edi, 0xf1edaf28
shl edi, 0x17
add ecx, 0xf1ee2d7e
add edx, 0xf1ee6c2e
mov edx, ecx
jmp 0x477e61
jne 0x47748a
or ecx, ebx
mov ebx, 0xf2027af4
or ebx, 0xf202b9d4
shl edi, 4
mov ebx, ecx
or edx, edi
sub ebx, ecx
mov edx, ecx
and ecx, 0xf2044708
dec edx
or edi, edx
add ecx, edi
shl ebx, 0x15
xor edi, ebx
jmp 0x4771b6
mov esi, dword [esi]
rol edx, 7
or edi, edx
add edi, edx
sub edi, ebx
mov ebx, ecx
and edi, ebx
and edx, edi
shr ebx, 0x19
jmp 0x476f9c
mov dword [esp + 0x84], esi
shr edx, 0x1e
xor ecx, ebx
and ebx, ecx
sub ebx, edi
shr edx, 0x1e
xchg ecx, edx
or ebx, ecx
not ebx
jmp 0x476fd0
mov dword [esp], 0
or ecx, 0xf214cccc
and ecx, edx
mov edx, 0xf2155744
xchg edi, ecx
jmp 0x475c03
mul esi
mov ecx, edi
sub ebx, edi
and ebx, edi
xchg ebx, edx
dec ebx
or ecx, edx
jmp 0x4777da
add dword [esp + 0xc4], eax
shl ecx, 0x1b
add edx, 0xf21b26b8
jmp 0x475ddb
mul esi
and ecx, edx
xor edx, ebx
xor ecx, ebx
add edx, ebx
mov ecx, edx
not edx
or edi, 0xf2f0bf52
rol edi, 0xe
jmp 0x476a50
add esi, 0x18
and edx, ebx
xor ebx, ecx
sub edx, ecx
add edx, edi
and edi, 0xf2f266cc
xchg ecx, edi
xor ecx, ebx
inc edi
jmp 0x477c9a
mov dword [esp + 0xc4], 0
xchg edx, edi
and edx, ecx
sub edi, ecx
xchg edi, ecx
xor edi, 0xf2f46dec
not edx
dec edi
add ecx, edi
inc ecx
inc ebx
jmp 0x477743
mov dword [esp + 0x38], 0
neg edx
inc edi
and ebx, ecx
or edx, edi
add ecx, 0xf2fe87a8
xchg edi, edx
mov edx, edi
and edx, ebx
xor ecx, edx
xor ecx, 0xf2ffca0c
add edi, edx
not ecx
jmp 0x477777
add esi, dword [esp + 0x80]
xchg edi, ebx
bswap edi
add ebx, edx
and edx, 0xf308ab84
shr edi, 0x1d
shr edi, 0xf
and edx, ebx
mov edx, ebx
shl ecx, 0x14
xchg ecx, ebx
or edx, ebx
mov ebx, ecx
jmp 0x475883
mov esi, dword [esi]
sub edi, 0xf314ec5c
and edi, 0xf3152b60
neg edx
neg edx
xor edx, ecx
dec edx
xchg edi, ecx
sub edi, edx
jmp 0x476655
sub esp, 0xd0
or edi, edx
add ecx, 0xf322dbe8
and edx, edi
and ecx, ebx
xor edi, 0xf3239320
rol ebx, 0x18
add edx, ecx
add ecx, edi
xor edx, edi
or ebx, edi
add edx, ecx
add ecx, edi
jmp 0x477b49
mov dword [esp + 0xc4], esi
mov edx, ebx
and ecx, edi
xor ecx, 0xf3261acc
or ecx, ebx
xor edx, edi
sub ebx, edi
xor ebx, ecx
or ebx, edx
not ecx
rol ebx, 5
jmp 0x47605c
mov esi, dword [esi]
xor edx, 0xf32ef2d4
rol edi, 9
mov ebx, 0xf32f81d0
add ecx, ebx
xor ebx, 0xf32ffc0e
sub edx, ebx
not edx
sub ecx, 0xf330b86c
jmp 0x475949
mov esi, dword [esp + 0xc4]
bswap edi
add ebx, edx
dec ebx
ror ecx, 1
xor edx, 0xf336b6f4
shl edi, 8
or edi, 0xf33745f8
add edi, 0xf337842e
inc edx
sub edi, ebx
and edx, edi
and ecx, edi
jmp 0x47727b