Function at 0x4697a4
Capabilities:
Encrypt data using chaskey

Disassembly:
add edi, dword [esp + 0x6c]
and ebx, 0x360ae147
xor edx, 0x360b392a
add edx, ecx
and esi, edx
inc ebx
rol edx, 0x12
and esi, edx
jmp 0x46b3e3
mov dword [esp + 0x40], edi
add edx, esi
ror ecx, 9
mov ecx, esi
xor ebx, ecx
inc ecx
xor edx, 0x3614ecc3
sub edx, 0x361547ad
jmp 0x46a7f2
mov edi, dword [esp + 0x64]
bswap ecx
sub ebx, esi
or ecx, 0x3626fa79
xchg esi, ebx
add edx, esi
xchg esi, ebx
dec edx
or ebx, 0x3628bc68
jmp 0x469691
mov dword [esp + 4], edi
and ebx, 0x36293375
dec ecx
xchg edx, ebx
xor ebx, 0x362a4d47
rol ecx, 5
sub ecx, esi
jmp 0x46b89c
mov edi, dword [esp + 0x80]
not edx
mov ecx, edx
mov ecx, esi
or esi, 0x36392955
xor ecx, edx
inc ecx
ror ecx, 0xf
and edx, ecx
add esi, ecx
jmp 0x46984e
mov dword [esp + 0x80], edi
shl edx, 0x15
add edx, esi
or esi, 0x36432f82
xchg ebx, ecx
sub esi, edx
xor esi, 0x36444d1a
jmp 0x46978c
ret
mov edi, dword [edi]
xchg esi, ebx
xor ecx, edx
and edx, 0x36570ebc
neg ebx
dec edx
rol ecx, 0xe
or esi, edx
bswap ecx
bswap esi
jmp 0x46ae81
add dword [esp + 0x80], edi
or ecx, ebx
add ecx, edx
and esi, edx
xor ebx, 0x365a9701
or edx, ecx
inc edx
add ebx, 0x365bb2b3
jmp 0x469c0d
mov edi, dword [esp + 4]
and ebx, 0x3673048d
sub edx, ebx
and ecx, esi
xor edx, ebx
jmp 0x4693b0
sub esp, 0x8c
or esi, ebx
mov ecx, ebx
not edx
add edx, esi
and ebx, esi
add ecx, esi
ror ecx, 8
shr ecx, 0x1f
sub esi, edx
jmp 0x469975
xor eax, eax
bswap edx
inc edx
sub esi, 0x3678a1f4
rol esi, 0x1b
or ecx, esi
xor edx, ebx
mov esi, ebx
jmp 0x46b834
mov eax, 2
sub esi, 0x367ef25c
add ebx, edx
sub ebx, edx
or edx, ebx
and esi, 0x36804bb8
mov ebx, ecx
dec esi
xchg ebx, ecx
jmp 0x46b9c1
mov edi, dword [edi]
xor esi, 0x3686ae23
mov ecx, edx
and edx, esi
bswap edx
or esi, ecx
and ebx, ecx
xor edx, ebx
and edx, 0x368a254f
rol esi, 0xc
xchg esi, ebx
and esi, 0x368b2f96
jmp 0x46a9e6
mov dword [esp + 0x6c], 0
shr ecx, 0x13
add esi, edx
xor ecx, esi
xchg ebx, ecx
shl ebx, 0x14
nop
mov edx, esi
bswap edx
mov esi, 0x36a8e90b
add ebx, edx
jmp 0x469dce
mov edi, dword [edi]
and ebx, edx
add edx, esi
or ebx, edx
rol ebx, 8
sub ebx, edx
mov ecx, ebx
or ebx, 0x36b69bac
dec ebx
and edx, esi
and esi, ecx
dec ecx
jmp 0x469cb1
cmp eax, dword [esp + 0x40]
jmp 0x46b244
mov dword [esp + 0x64], edi
shl esi, 0xc
xchg esi, edx
add edx, 0x36d37f7a
mov ecx, esi
xor ecx, edx
and ecx, edx
shr ebx, 0x1b
and edx, ebx
jmp 0x46b4e4
rol eax, 8
sub esi, 0x36d84031
ror ebx, 1
xchg ebx, ecx
or ebx, ecx
mov edx, esi
mov esi, ecx
inc esi
or ebx, 0x36dad609
jmp 0x46a7bb
add dword [esp + 0x80], 0x20
shl ebx, 2
or esi, 0x36ee9f2b
rol ecx, 0x1a
and ecx, esi
inc ecx
or ebx, esi
sub ecx, edx
shr ecx, 0x14
jmp 0x469567
add edi, dword [esp + 0x64]
shr edx, 0x1c
add ebx, 0x370101b3
not esi
xchg ecx, edx
xor ecx, 0x37022130
inc ebx
add esi, edx
mov edx, ebx
jmp 0x46ac3e
add edi, 0xc
nop
xor edx, ebx
and edx, ebx
xor edx, 0x371d8324
and edx, 0x371df115
not ecx
shl esi, 0x1e
sub ebx, edx
jmp 0x46abab
mov dword [esp + 4], 0
and ecx, ebx
and esi, 0x3723aa58
xchg ebx, esi
bswap ebx
or edx, ebx
not edx
sub ecx, edx
shr esi, 0x13
mov ecx, 0x37271838
rol ecx, 8
xchg edx, esi
jmp 0x46a26d
mov edi, dword [esp + 4]
xor esi, edx
mov edx, ecx
mov ebx, 0x3768a48e
xchg ecx, edx
or esi, ecx
mov ebx, 0x3769c2dc
and ecx, ebx
not ecx
sub esi, 0x376adb18
or ebx, edx
inc ecx
or ecx, 0x376bf9b5
mov ebx, esi
jmp 0x46a377
push edi
add ecx, edx
sub ecx, edx
sub esi, edx
shl ecx, 7
inc esi
add esi, 0x37703abb
jmp 0x4697c3
pop edi
mov esi, ecx
and esi, edx
or esi, edx
dec ecx
or edx, ecx
shl ebx, 5
jmp 0x4699ff
add edi, dword [esp + 0x64]
mov edx, esi
mov ecx, esi
sub esi, ecx
sub ebx, ecx
sub ebx, esi
xchg ebx, ecx
jmp 0x46b957
mov dword [esp + 0x64], 0
mov ecx, esi
mov esi, ebx
add esi, ebx
mov ebx, edx
add ecx, edx
jmp 0x46a456
mov edi, dword [edi]
sub esi, 0x380591d8
not esi
or edx, ebx
bswap ecx
and ebx, 0x38082fd9
not ecx
and edx, ebx
bswap edx
and ebx, 0x380aee4d
jmp 0x46b743
mov edi, dword [esp + 0x80]
shr edx, 0x15
or ecx, esi
sub ecx, edx
rol ecx, 0xf
add esi, 0x3817c523
xchg edx, ebx
mov edx, esi
xor ecx, esi
neg ecx
mov esi, ebx
neg edx
not ebx
xor edx, ecx
bswap ecx
sub ebx, ecx
jmp 0x46ab2d
mov dword [esp + 0x80], 0
not ebx
or edx, ecx
neg esi
xor ecx, ebx
xchg ecx, ebx
bswap esi
add ebx, 0x38334cbb
or edx, ecx
or edx, 0x3834102b
xchg esi, ebx
xor edx, esi
add esi, 0x383517ad
add edx, ebx
sub ebx, 0x3835c39f
jmp 0x4693f5
jne 0x46b834
sub edx, ebx
and ecx, 0x3842726c
sub esi, ebx
xchg esi, ecx
xchg edx, ecx
or esi, ebx
and ecx, ebx
jmp 0x46a1a7
add edi, 0xc
xchg ebx, esi
add esi, edx
and ebx, ecx
or esi, ecx
add edx, ebx
sub esi, ebx
shr edx, 0x1e
and esi, ecx
not ecx
xchg edx, ebx
not edx
jmp 0x469674
mov edi, dword [esp + 0x64]
bswap ebx
ror ecx, 0x17
or ecx, edx
inc esi
sub esi, ecx
mov ecx, 0x387130da
xor esi, ebx
add esi, ecx
xchg ebx, ecx
add esi, ecx
mov ebx, edx
xor ebx, edx
add ebx, 0x38739e3b
shl esi, 2
add ebx, edx
jmp 0x46b778
mov edi, dword [esp + 0x80]
xor esi, edx
add ecx, esi
add ecx, ebx
xchg esi, ecx
jmp 0x4699df
inc edi
and ebx, edx
mov ebx, esi
xchg ecx, ebx
shl esi, 0xc
not esi
add edx, ecx
bswap esi
jmp 0x46b92a
mov edi, 0x30
shr ebx, 0x13
mov ecx, esi
or esi, ebx
add ebx, 0x389625f6
not esi
add ebx, edx
jmp 0x46aad7
movzx edi, word [edi]
and edx, 0x38af9432
xchg ebx, esi
and esi, 0x38b045c2
or ecx, ebx
xchg esi, ecx
or ebx, 0x38b14816
mov ebx, 0x38b1a1ba
and ebx, 0x38b20fdb
not edx
xchg esi, edx
shr ebx, 0xa
and edx, 0x38b371b7
xor edx, 0x38b45a98
rol esi, 0xb
and ebx, ecx
jmp 0x46afac
add edi, dword [esp + 0x64]
and ecx, edx
rol esi, 0x13
shl ecx, 0xd
mov ecx, esi
xchg esi, ecx
bswap edx
sub esi, 0x38c422a5
mov edx, ebx
and esi, 0x38c4cac7
add esi, 0x38c520e6
bswap ecx
jmp 0x4694d2
mov dword [esp + 0x6c], eax
and ecx, esi
bswap esi
mov ebx, ecx
or ecx, 0x38ca7956
jmp 0x46ba14
mov edi, dword [esp + 0x80]
or ebx, esi
or ecx, 0x38cccfc3
inc ebx
or ebx, esi
mov edx, 0x38cdcf33
or esi, ebx
add ebx, esi
xor esi, ecx
and ecx, edx
xor edx, ebx
shl ecx, 0x10
and ebx, esi
mov ecx, esi
mov esi, ecx
jmp 0x46ba6c
mov edi, dword fs:[edi]
or ecx, 0x38dc9b87
add ebx, edx
add esi, edx
sub esi, 0x38ddb501
jmp 0x469d91
add edi, dword [esp + 0x64]
xor ebx, esi
and ebx, 0x38e07ba7
and edx, ecx
xchg ecx, ebx
mov esi, ebx
xor esi, ebx
mov edx, 0x38e241c1
ror ebx, 0x1c
xor ebx, esi
jmp 0x4695b0
mov edi, dword [edi]
sub esi, edx
or ecx, edx
add esi, edx
sub esi, 0x38e4a2c5
and edx, 0x38e51f73
xchg edx, ebx
xor ebx, ecx
sub edx, ecx
and edx, ebx
jmp 0x46ab07
mov edi, dword [edi]
sub esi, ebx
sub ecx, edx
nop
or ecx, 0x38f28e76
inc esi
sub ecx, 0x38f385cf
mov ecx, 0x38f3daf3
add edx, ebx
not ebx
xchg edx, ebx
xchg ebx, edx
inc edx
xor esi, edx
sub esi, 0x38f69461
shr edx, 0x1c
add ebx, 0x38f74756
jmp 0x46a59a
mov dword [esp + 4], edi
xor edx, esi
shl ebx, 0x16
neg ecx
and ebx, ecx
and esi, ecx
xor edx, ebx
mov ebx, 0x39040c0a
shl ebx, 0x13
or edx, ebx
xchg ebx, esi
jmp 0x469803
add dword [esp + 0x80], eax
add ecx, 0x39248890
bswap esi
ror ebx, 0x13
or ecx, edx
dec ebx
or esi, ecx
xchg ebx, ecx
shl esi, 0x17
add edx, ecx
mov esi, ecx
or ecx, edx
jmp 0x46aa63
mov edi, dword [edi]
and esi, edx
or ecx, 0x393b9e0c
xchg esi, ecx
xchg ebx, ecx
mov esi, ebx
mov esi, 0x393d16d3
xchg ebx, ecx
xchg edx, esi
jmp 0x46b84d
mov edi, dword [edi]
add ebx, esi
or ebx, 0x3943c129
xor ebx, esi
sub edx, ecx
neg ecx
inc ebx
jmp 0x46b062
mul edi
mov esi, 0x3965ccbe
xchg ecx, esi
not ebx
nop
xor ebx, esi
mov esi, edx
not edx
xchg esi, ecx
neg esi
neg ebx
sub edx, ebx
xchg ecx, esi
dec ecx
jmp 0x46ad77
mov edi, dword [edi]
or esi, ecx
xchg ebx, esi
add edx, esi
mov edx, ebx
mov esi, 0x397ae0bf
add edx, 0x397b3858
sub ebx, edx
ror esi, 0x13
jmp 0x46b134
add edi, 0x18
inc edx
xor ebx, 0x39910727
sub edx, ecx
xor ecx, edx
and edx, ebx
jmp 0x46b30b
add dword [esp + 0x80], 0x78
xor edx, ebx
sub ecx, ebx
mov esi, ecx
or esi, 0x399b9da8
xor edx, 0x399bf445
shr esi, 0xd
and esi, ecx
or ebx, esi
xchg edx, ecx
sub ebx, ecx
and edx, esi
xor edx, 0x399e9cc3
mov ecx, esi
mov esi, edx
rol esi, 0x10
jmp 0x46a6b6
jne 0x46b89c
sub ebx, edx
and ecx, ebx
rol edx, 0x12
and ecx, 0x39ae0a88
xor esi, ebx
mov ecx, ebx
ror edx, 4
and edx, ebx
or esi, 0x39afbdda
xor ebx, esi
sub esi, edx
jmp 0x46b6e0
add edi, 0x3c
add ecx, ebx
or edx, 0x39ba4649
add ecx, edx
dec edx
and ecx, 0x39bb6dd4
and edx, ebx
rol esi, 0x10
mov esi, ecx
inc esi
mov ecx, ebx
xchg esi, edx
or ebx, esi
bswap edx
or edx, ecx
sub ebx, edx
add edx, ecx
jmp 0x46b625
mov edi, dword [edi]
xor ebx, ecx
nop
xor esi, 0x39c42760
mov ebx, ecx
and ebx, esi
bswap ebx
shr ecx, 0x11
neg esi
xor esi, 0x39c669df
jmp 0x469b05
mov eax, 4
mov ecx, esi
sub ecx, 0x39dfe1df
dec edx
not ebx
xor ebx, 0x39e14010
mov ebx, edx
inc ecx
xor ecx, edx
jmp 0x46a91b
mov edi, dword [esp + 0x64]
ror ebx, 0xe
or edx, ebx
or ebx, esi
xchg edx, esi
inc edx
and ebx, esi
xchg edx, ecx
xchg ecx, edx
xchg esi, edx
xchg ecx, edx
add ecx, 0x3a00d110
mov esi, ecx
xor ebx, 0x3a017d77
xchg esi, ecx
jmp 0x46b2ba
add dword [esp + 4], 4
add ebx, edx
mov edx, esi
mov ecx, 0x3a128f92
rol edx, 8
or edx, 0x3a134014
nop
rol ebx, 4
xchg ebx, edx
ror esi, 6
or edx, esi
jmp 0x46a019
mul edi
mov ebx, esi
xchg edx, ecx
sub ebx, esi
bswap esi
shl esi, 0x19
and esi, edx
or ecx, ebx
sub ebx, ecx
shl ebx, 0xf
jmp 0x46aa34
mov edi, dword [edi]
xor ebx, edx
xchg ebx, ecx
jmp 0x46b69f
mov dword [esp + 0x80], edi
mov edx, ecx
and esi, edx
neg ecx
xchg edx, ecx
or edx, 0x3a30db7b
mov edx, 0x3a31309c
xor ecx, edx
and edx, 0x3a31f6c7
jmp 0x46b186
add dword [esp + 0x80], 4
ror ebx, 5
mov ebx, 0x3a35f4f0
sub ecx, 0x3a364cc7
add esi, 0x3a36bc92
xchg edx, esi
or ebx, edx
or ebx, ecx
mov ebx, edx
not edx
add ebx, 0x3a3904e2
or esi, edx
jmp 0x46a7a7
add edi, dword [esp + 0x64]
mov ecx, esi
or edx, ecx
add esi, ebx
inc ebx
xchg ebx, esi
rol ecx, 0x18
or edx, ebx
jmp 0x46a04c
add edi, dword [esp + 0x80]
not esi
xor edx, 0x3a47a3dd
xor edx, esi
inc esi
sub ebx, esi
mov ecx, esi
sub edx, ebx
xchg ebx, ecx
jmp 0x46ae38
xor al, byte [edi]
xor ecx, edx
shr esi, 4
mov esi, 0x3ce82266
shl ecx, 7
add ebx, ecx
not ecx
dec ebx
jmp 0x469b46
mov dword [esp + 0x80], edi
and edx, 0x3cea0487
ror edx, 0x11
xor ecx, edx
xor ebx, esi
or ecx, esi
mov ebx, ecx
shl esi, 0xc
add esi, 0x3cec6eca
or esi, edx
mov esi, edx
xchg edx, ecx
xor ebx, 0x3cedc09e
jmp 0x4694af
inc dword [esp + 0x6c]
mov ebx, esi
sub esi, ecx
and edx, ecx
add ecx, esi
sub ecx, edx
xchg esi, edx
ror ecx, 9
jmp 0x46b593
cmp byte [edi], 0
jmp 0x46a512
add esp, 0x8c
xor ebx, edx
add ebx, edx
add esi, 0x3d033dc5
and ecx, 0x3d03a8c8
mov ebx, ecx
xchg edx, esi
xor edx, esi
sub esi, ecx
or ecx, edx
jmp 0x469602
mov edi, dword [esp + 0x6c]
or ecx, 0x3d0beae7
xor ecx, edx
xor esi, ecx
sub esi, ecx
sub ebx, 0x3d0d4183
and ebx, 0x3d0d9668
and edx, esi
shr edx, 0x1d
neg ecx
xor ebx, esi
xchg edx, ebx
bswap edx
xor edx, ecx
xchg edx, esi
neg edx
jmp 0x46b60a
sub dword [esp + 0x80], 8
ror esi, 1
sub ecx, 0x3d142284
xor esi, ebx
add edx, ebx
jmp 0x46a3ce
mov edi, dword [edi]
bswap esi
or ecx, esi
ror edx, 0x15
bswap edx
xchg ecx, esi
xchg ebx, ecx
jmp 0x46a1dc