Function at 0x478705
Capabilities:
Encrypt data using chaskey

Disassembly:
add edi, 0x3c
xchg edx, esi
add esi, ebx
and ebx, edx
bswap edx
and ebx, edx
rol ebx, 6
jmp 0x476252
jne 0x477c9d
and ecx, edx
bswap ecx
dec esi
sub edx, 0xa339a570
xor ecx, edx
xchg edx, esi
sub ecx, ebx
sub ebx, edx
jmp 0x47573c
mov eax, 4
and edx, 0xa33ad774
add ecx, ebx
mov ecx, 0xa33b4714
or edx, esi
and edx, 0xa33bc8d0
rol edx, 0x1d
sub ecx, 0xa33c3dc6
sub ebx, edx
jmp 0x4772f5
add edi, dword [esp + 0x18]
mov ecx, esi
sub ebx, esi
xor esi, ecx
and esi, ebx
shr ebx, 4
add edx, 0xa350cdc8
mov ecx, ebx
bswap esi
and edx, esi
inc esi
jmp 0x4778d4
sub dword [esp + 0x8c], 8
xchg edx, ebx
mov ecx, esi
xchg ecx, edx
xchg ecx, esi
dec ecx
sub ecx, esi
xchg esi, ebx
or edx, esi
jmp 0x4757ba
mov edi, dword [edi]
xor esi, ecx
or ecx, ebx
xor ebx, edx
not ecx
sub ecx, edx
xor ebx, edx
jmp 0x477a9c
mov edi, dword [edi]
sub ecx, esi
shl edx, 1
neg esi
or edx, esi
dec ebx
shr esi, 6
jmp 0x477be2
mov edi, dword [edi]
shr esi, 0x1c
bswap edx
mov ebx, edx
rol ebx, 5
not esi
xor ecx, edx
ror ecx, 3
bswap ecx
ror esi, 6
xor ebx, ecx
jmp 0x475604
jne 0x47645c
sub esi, edx
ror ebx, 0x1b
mov esi, 0xa374f95a
or ebx, ecx
add esi, ebx
rol ebx, 0x17
xchg esi, ecx
or ecx, 0xa3762f5a
sub ecx, 0xa3766b4a
xor ebx, edx
jmp 0x477f74
pop edi
sub esi, edx
bswap ecx
rol edx, 7
xor ebx, ecx
not ebx
bswap edx
and ecx, 0xa3860904
xchg ecx, esi
xor ecx, ebx
add esi, 0xa386c74c
inc edx
mov ebx, 0xa3874718
jmp 0x476163
mov edi, 0x30
and ecx, esi
bswap esi
sub ebx, 0xa389c0f2
xor esi, ebx
xor ecx, esi
and edx, ecx
sub ecx, edx
and edx, esi
add edx, ecx
or ecx, esi
and edx, ecx
mov ebx, esi
jmp 0x47637f
mov edi, dword [esp + 0x8c]
xor ebx, ecx
add esi, edx
add edx, 0xa38dffb0
sub esi, ebx
mov ecx, edx
add esi, ebx
jmp 0x4762c4
ret
mov edi, dword [esp + 0x18]
xor ecx, edx
add esi, ebx
and ebx, esi
and ecx, edx
sub edx, ebx
xor esi, ebx
or ecx, edx
and esi, edx
and ebx, 0xa3ce6a24
shr edx, 0x13
jmp 0x475e41
add edi, dword [esp + 0x88]
sub edx, ebx
inc esi
not edx
neg edx
and ecx, esi
add edx, ecx
jmp 0x4752f7
mov dword [esp + 0x88], eax
bswap esi
inc esi
xor edx, ebx
xor esi, ebx
xchg esi, ebx
add edx, ebx
neg edx
add esi, edx
xchg ecx, edx
xor edx, ecx
mov ebx, 0xa3f2b0da
bswap edx
jmp 0x475454
add edi, dword [esp + 0x8c]
mov edx, 0xa3fc756e
or esi, 0xa3fcb088
dec ecx
sub edx, 0xa3fd2918
xchg esi, edx
shr esi, 1
shl ebx, 1
xor ebx, ecx
jmp 0x476e2f
mov edi, dword [esp + 0x7c]
shl ebx, 0x13
xor esi, ecx
and esi, edx
shr edx, 0x18
add edx, ebx
xchg esi, edx
or ebx, ecx
xor ecx, 0xa4121a0e
and ecx, 0xa4125654
and esi, ecx
rol esi, 5
xor edx, 0xa41307de
jmp 0x475c75
mov edi, dword [edi]
xor ecx, 0xa42e848c
add esi, edx
or edx, ebx
add edx, ebx
shl edx, 0xd
and esi, ecx
xchg edx, ecx
and ecx, edx
and esi, edx
shr esi, 0x18
or ebx, esi
add edx, 0xa430dca2
jmp 0x476503
cmp eax, dword [esp + 0x2c]
jmp 0x47564f
mov edi, dword [edi]
add ecx, 0xa43ef528
and esi, 0xa43f2b8a
mov esi, 0xa43f6206
ror ecx, 0x13
or ebx, ecx
add ebx, ecx
neg ebx
xchg esi, ecx
jmp 0x4778e3
mov edi, dword [esp + 0x8c]
xor ecx, ebx
shl esi, 0x15
and ebx, esi
xchg esi, edx
jmp 0x4784bf
mov edi, dword [edi]
xchg ebx, edx
xchg ebx, esi
sub esi, 0xa44a90ca
add ebx, edx
jmp 0x476d60
mov edi, dword fs:[edi]
mov edx, esi
xor edx, ecx
or esi, ebx
sub edx, 0xa45fb4ac
jmp 0x476f23
add esp, 0x90
add ecx, esi
and edx, ecx
jmp 0x475847
cmp byte [edi], 0
jmp 0x4752d9
inc dword [esp + 0x88]
add ecx, 0xa472f30c
mov ecx, edx
xor esi, ebx
neg esi
sub esi, 0xa473df9e
sub edx, 0xa4742bea
xor edx, ebx
add ebx, edx
add esi, ecx
or ebx, ecx
sub ebx, edx
and ecx, ebx
jmp 0x4781fa
mov dword [esp + 0x18], edi
shl ebx, 0xb
and edx, esi
xchg edx, esi
mov esi, ebx
xor ebx, esi
xchg ecx, esi
or edx, esi
dec ebx
xor ecx, esi
neg ecx
jmp 0x478518
mov eax, 2
sub ecx, 0xa4c4fcb2
dec esi
or ecx, edx
sub esi, ebx
and esi, edx
add ecx, edx
shl edx, 0xf
dec edx
xchg edx, esi
xor ebx, edx
xor edx, 0xa4c747f6
xor edx, esi
jmp 0x4784dc
mul edi
sub ebx, ecx
rol edx, 2
mov ecx, edx
xchg ebx, ecx
sub ecx, 0xa4ca4426
shr ecx, 0x1a
add ebx, edx
mov edx, ebx
jmp 0x475d75
add edi, 0xc
bswap ebx
or ecx, 0xa4cb839a
rol ecx, 0xa
or ebx, edx
shl edx, 0x13
add esi, ecx
jmp 0x4782b8
mov edi, dword [esp + 0x8c]
add ebx, ecx
mov esi, edx
shl ecx, 0x1f
xchg edx, esi
add edx, ecx
shl esi, 0x15
or ebx, edx
and ebx, esi
add edx, ebx
xor esi, ebx
mov ecx, edx
xor esi, 0xa506fdf8
jmp 0x478672
mov edi, dword [esp + 0x8c]
xor edx, ebx
not ebx
or ecx, esi
neg esi
neg esi
and ebx, esi
jmp 0x4754bb
add edi, dword [esp + 0x18]
bswap ebx
sub ecx, ebx
or ecx, ebx
xor ebx, ecx
dec ecx
neg ecx
xor ebx, esi
sub ecx, 0xa513f1e0
xchg esi, ecx
and ecx, 0xa51468f0
neg ecx
sub esi, ecx
jmp 0x478128
add dword [esp + 0x8c], eax
shr ecx, 0xb
not ebx
sub esi, edx
dec esi
inc ebx
bswap ecx
mov edx, ebx
xor ecx, ebx
add ebx, 0xa5171dd6
or ebx, 0xa51759a8
jmp 0x4762af
mov edi, dword [edi]
and ebx, 0xa51fce5a
xchg esi, ebx
ror edx, 0x12
sub esi, 0xa52081d6
xchg edx, esi
xchg edx, esi
and ecx, ebx
xchg ecx, esi
and ebx, esi
sub ebx, ecx
sub edx, 0xa5222b46
mov ebx, 0xa52266a0
jmp 0x478472
add dword [esp + 0x8c], 0x78
rol esi, 0x10
xor ebx, edx
xor edx, 0xa525ac82
sub edx, ebx
sub ecx, 0xa52622de
add ecx, 0xa5265e26
jmp 0x475b73
add edi, 0xc
add ecx, edx
neg ebx
inc ebx
xor esi, ebx
not esi
or ecx, 0xa530847e
not ecx
xchg ecx, esi
or ecx, edx
add ebx, edx
jmp 0x4782cb
mov dword [esp + 0x7c], 0
mov esi, edx
sub ebx, ecx
or ebx, ecx
and ecx, esi
jmp 0x477ca8
mov edi, dword [edi]
mov edx, ecx
xchg esi, ebx
shl ebx, 0xa
sub edx, esi
and ecx, edx
mov ecx, edx
add ebx, esi
or esi, ecx
dec edx
xchg edx, esi
xor esi, ebx
and ecx, edx
jmp 0x4772a7
add edi, dword [esp + 0x18]
mov ecx, esi
not esi
and edx, 0xa56db142
or ecx, ebx
add esi, ecx
and ebx, 0xa56e5f9a
shr edx, 0x17
add esi, 0xa56ee726
jmp 0x4781a1
movzx edi, word [edi]
and esi, ecx
inc esi
rol edx, 0x17
shl esi, 0x18
bswap ecx
shr ecx, 3
not ebx
xchg edx, esi
sub edx, ecx
mov edx, ecx
xor ebx, 0xa5745e8a
shl edx, 0x1c
jmp 0x4786ac
add dword [esp + 0x8c], edi
mov esi, edx
sub esi, 0xa5871c10
and edx, esi
and ebx, edx
sub ecx, edx
xchg edx, ebx
sub edx, 0xa5885438
add edx, esi
jmp 0x47770e
xor eax, eax
sub ebx, edx
shr edx, 0x18
or ebx, ecx
and edx, ecx
inc ebx
ror esi, 0x17
sub ebx, esi
and ebx, 0xa5a6b22e
jmp 0x477c9d
add dword [esp + 0x8c], 0x20
mov ecx, esi
or esi, ecx
add edx, esi
ror edx, 0xc
xchg edx, ebx
or ebx, 0xa5bca7c6
mov ebx, edx
or edx, ebx
nop
add ebx, edx
jmp 0x476c94
mov dword [esp + 0x8c], 0
xor esi, edx
bswap ecx
rol ecx, 0xe
xchg edx, ecx
and ecx, edx
ror ecx, 0x1b
xor edx, ebx
or ebx, 0xa5c67672
ror ebx, 0x10
sub esi, ebx
dec edx
xor esi, ebx
jmp 0x478259
mov dword [esp + 0x7c], edi
and ebx, edx
dec esi
jmp 0x47645c
mov dword [esp + 0x8c], edi
add ebx, edx
dec ecx
xor ebx, ecx
sub ecx, 0xa5dc0050
and ebx, edx
shl ecx, 0x18
inc edx
xchg esi, ecx
xor ecx, ebx
mov edx, ebx
sub esi, edx
not ecx
jmp 0x476e84
add edi, dword [esp + 0x18]
or esi, ebx
mov esi, ebx
jmp 0x47802d
add edi, 0x18
or esi, ebx
xor ecx, 0xa60de28e
and esi, edx
xchg ecx, esi
add ebx, ecx
add edx, esi
sub ebx, 0xa60f150c
mov ebx, 0xa60f517e
xor ecx, esi
sub edx, ebx
jmp 0x47613a
xor al, byte [edi]
sub ebx, edx
or ecx, esi
jmp 0x478778
mov dword [esp + 0x18], 0
xchg edx, esi
bswap ebx
xor edx, ecx
and ebx, esi
jmp 0x477786
inc edi
add ecx, esi
xor ecx, 0xa63051e4
and esi, edx
mov edx, ebx
jmp 0x4763a2
mov edi, dword [esp + 0x18]
neg ecx
xor ebx, ecx
or esi, ebx
mov edx, ebx
add edx, ecx
not ecx
mov edx, 0xa63894f8
xor edx, 0xa638e034
add ebx, ecx
add ecx, esi
dec esi
add ecx, edx
jmp 0x477412
add edi, dword [esp + 0x18]
sub edx, esi
shl ecx, 8
dec edx
add esi, ecx
jmp 0x476393
add dword [esp + 0x8c], 4
neg edx
sub edx, ecx
jmp 0x476d48
mov dword [esp + 0x7c], edi
and ebx, esi
inc ecx
mov esi, edx
add edx, esi
or ebx, 0xa657ae14
and ebx, esi
or ebx, esi
mov ecx, ebx
and edx, 0xa658a504
sub edx, 0xa658e1f0
jmp 0x4768f5
mov dword [esp + 0x8c], edi
add edx, esi
xor ebx, ecx
or ecx, 0xa668ab84
xchg esi, ecx
add ecx, esi
and esi, 0xa6695c42
xchg edx, esi
ror edx, 0xd
xor edx, ecx
bswap esi
jmp 0x475f6b
push edi
or esi, ebx
shr ecx, 7
and ebx, edx
add edx, ecx
and ecx, 0xa6716b1e
add ecx, esi
shl ecx, 0xa
add esi, ebx
rol ecx, 0x14
shl edx, 0xc
neg esi
or esi, ecx
jmp 0x4775c3
add dword [esp + 0x7c], 4
xor edx, ecx
or esi, 0xa676a5dc
or ecx, 0xa676e1f0
or ecx, 0xa6771df2
jmp 0x4785d9
mov dword [esp + 0x2c], edi
add esi, ebx
xor esi, ebx
xor edx, ebx
bswap edx
shl ebx, 0x1b
sub esi, 0xa67c1980
sub ecx, esi
ror esi, 0xc
add ebx, ecx
mov esi, edx
or esi, ecx
add edx, 0xa67d8830
dec ebx
xchg edx, esi
jmp 0x47577c
mov edi, dword [edi]
xor edx, esi
sub ecx, ebx
not ebx
or ebx, edx
xor ecx, edx
xor ecx, esi
jmp 0x475618
mov edi, dword [edi]
bswap edx
shr edx, 9
xor ecx, 0xa68335ce
mov ebx, ecx
shl ecx, 0x12
inc edx
jmp 0x47694e
mov dword [esp + 0x8c], edi
mov esi, ebx
bswap ecx
inc esi
xchg esi, ecx
add edx, ecx
xor esi, ebx
neg ecx
sub ebx, ecx
jmp 0x477e4d
mov edi, dword [edi]
mov ecx, edx
and ebx, 0xa6a01184
dec ebx
and esi, 0xa6a09c70
mov ecx, 0xa6a0d7b4
add ecx, edx
jmp 0x477eed
mov edi, dword [esp + 0x88]
sub ecx, esi
ror ebx, 0x1b
or esi, edx
mov esi, 0xa6a22288
sub esi, ecx
ror esi, 0x18
xor ebx, esi
xchg edx, esi
jmp 0x476931
mov edi, dword [esp + 0x18]
nop
mov ebx, 0xa6a52a1c
add esi, 0xa6a56654
and edx, 0xa6a5b190
shr edx, 0x15
xor esi, ebx
jmp 0x4752c4
mov edi, dword [esp + 0x7c]
xor ecx, esi
xor esi, ecx
ror edx, 0x18
and ecx, esi
sub edx, 0xa6b29312
shl edx, 0x1c
add ebx, ecx
not ebx
jmp 0x47712b
mov edi, dword [edi]
inc ecx
mov esi, 0xa6bb482e
add ebx, ecx
add esi, edx
or esi, ebx
shr esi, 0x17
jmp 0x475430
mul edi
and ecx, 0xa6bef79e
xor ecx, 0xa6bf3474
add esi, ebx
add edx, esi
xchg ecx, esi
add esi, ecx
mov edx, 0xa6c06656
xor ecx, ebx
jmp 0x476d8b
sub esp, 0x90
add ecx, esi
xor ebx, ecx
jmp 0x478748
mov dword [esp + 0x88], 0
add ecx, 0xa6c98f3e
mov esi, 0xa6c9c592
xor esi, ebx
add ebx, edx
rol ebx, 0xd
mov edx, ecx
and ebx, edx
add ecx, edx
xor esi, 0xa6cb497c
sub ebx, ecx
jmp 0x4770db
rol eax, 8
sub edx, ebx
and ebx, 0xa6cc0b30
sub ebx, ecx
sub esi, 0xa6cc7712
jmp 0x477dea