Function at 0x46b7cc
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [ecx]
mov edx, ebx
rol esi, 0x12
mov esi, 0x197742df
mov edi, esi
xor edi, edx
add edi, 0x19779269
mov ebx, 0x1977aef9
add esi, ebx
jmp 0x46f6b5
mov ecx, dword [esp + 0x34]
add ebx, edi
shl ebx, 4
sub ebx, edx
shr edi, 0xc
jmp 0x46cd23
add dword [esp + 0x5c], 4
and esi, edx
ror edi, 7
add esi, edx
sub esi, edi
bswap esi
xor ebx, edi
jmp 0x46b294
mov ecx, dword [esp + 0x5c]
mov ebx, esi
or edx, 0x19889125
xor edx, 0x1988ad19
mov edi, esi
add esi, edi
or edx, edi
nop
add edi, 0x1989351f
sub esi, edx
ror esi, 0x12
xor edi, ebx
add esi, 0x1989a3d3
mov esi, edx
xor edi, 0x1989d753
jmp 0x46be63
mov dword [esp + 0xb4], eax
inc ebx
or edi, 0x19a1acdb
add edx, esi
or edx, 0x19a1e071
mov edx, 0x19a1fd3d
add edi, ebx
or esi, ebx
mov esi, edi
jmp 0x46cbef
add ecx, dword [esp + 0x54]
add ebx, 0x19a7873f
or ebx, 0x19a7a391
shl edi, 8
xor edx, esi
mov esi, edi
bswap ebx
inc esi
not edx
dec edi
and ebx, edx
sub edx, esi
or edx, 0x19a8b73d
add ebx, edi
dec esi
jmp 0x46c06b
add dword [esp + 0x34], eax
and edx, ebx
mov edi, edx
xor edx, edi
rol edi, 0x12
mov edi, edx
sub esi, edi
sub edx, 0x19ac392b
xchg ebx, edi
jmp 0x46f3e1
sub esp, 0xd4
inc edi
and esi, ebx
inc edx
add edx, ebx
shl edx, 6
sub esi, edi
add edx, 0x19b275f3
and edx, esi
mov ebx, 0x19b2a87f
add esi, ebx
xor ebx, edi
and edi, edx
xchg esi, ebx
sub ebx, edi
jmp 0x46d701
mov eax, 4
add edx, ebx
xor edi, 0x19c05395
inc edx
shl ebx, 9
and ebx, edx
mov edx, 0x19c0c573
mov ebx, edi
xchg esi, edi
jmp 0x46d0c7
add ecx, 0xc
xor ebx, 0x19c9c8f5
neg edi
and edi, 0x19ca004f
dec esi
xor edi, 0x19ca3bb9
sub edx, esi
mov edi, 0x19ca7511
sub esi, 0x19ca9175
neg edx
or edx, esi
jmp 0x46bfaf
mul ecx
shl edx, 5
bswap edi
xchg edi, ebx
add edx, esi
sub ebx, 0x19d6aaaf
add ebx, 0x19d6c701
xchg edx, esi
and edi, 0x19d6fc5d
mov edx, ebx
and ebx, edi
add edx, esi
and edi, edx
jmp 0x46b704
xor eax, eax
add ebx, edx
and edi, 0x19d8f385
add ebx, edx
dec ebx
xchg edx, ebx
xor edi, 0x19d95c25
xor esi, edi
mov edi, ebx
xor edx, 0x19d9b025
dec esi
sub ebx, edx
add ebx, edi
shl ebx, 9
inc esi
and edi, edx
and ebx, edx
jmp 0x46d607
mov ecx, dword [ecx]
shr ebx, 3
mov edx, ebx
and esi, ebx
sub edi, edx
mov edx, 0x19dc431d
and ebx, edi
or ebx, edx
add edi, 0x19dca9f1
xor edx, 0x19dcca9d
sub esi, 0x19dcea19
add esi, 0x19dd0a31
and ebx, 0x19dd2a05
add edi, ebx
or edi, edx
jmp 0x46b68d
mov ecx, dword [ecx]
xor esi, edi
add edx, edi
or esi, 0x19e8b203
mov esi, ebx
xor ebx, edx
sub edx, edi
ror ebx, 4
add ebx, edx
and ebx, edi
sub esi, ebx
sub esi, edi
or edx, edi
add edx, 0x19e9bc71
xor edi, esi
jmp 0x46ee98
mov ecx, dword [ecx]
shr edi, 0x13
or edi, edx
not ebx
or esi, edi
sub ebx, esi
xor edx, edi
jmp 0x46c1da
inc ecx
ror ebx, 0x1b
or ebx, edi
sub ebx, edi
and esi, edi
xchg ebx, edx
xor edx, esi
jmp 0x46e765
mov ecx, dword [ecx]
xchg ebx, edx
sub edx, esi
or ebx, esi
mov edx, 0x1a4cf3bb
add ebx, edi
and edi, 0x1a4d2a43
sub edx, ebx
rol esi, 3
mov edi, edx
xchg edx, edi
jmp 0x46d289
mov dword [esp + 0x5c], ecx
or esi, edi
mov edi, edx
rol ebx, 0xd
not ebx
xchg edi, ebx
inc edx
add edx, edi
xchg esi, edx
jmp 0x46c6db
pop ecx
sub edx, esi
or edi, ebx
shr ebx, 0xb
or ebx, 0x1a5caeb7
xor edx, 0x1a5cca41
xor esi, edx
shr edx, 0xc
ror ebx, 0x1b
jmp 0x46e9cf
add ecx, dword [esp + 0x54]
ror ebx, 5
mov edi, edx
or esi, ebx
neg ebx
xor edx, edi
and edx, esi
mov edi, edx
and esi, edx
add ebx, esi
mov edx, 0x1a5fdd5f
jmp 0x46d468
mov ecx, dword [esp + 0x54]
not esi
rol esi, 0x12
sub esi, ebx
ror edx, 9
sub ebx, esi
and esi, 0x1a67dc29
mov edi, esi
add esi, edi
dec edi
bswap esi
or edi, ebx
mov edx, 0x1a68838d
xor ebx, edi
add edi, ebx
jmp 0x46d1c7
jne 0x46d607
mov ebx, edi
and edx, ebx
mov ebx, edi
add esi, 0x1a6a322f
or esi, ebx
xor esi, edi
add ebx, edx
xchg edx, edi
xchg ebx, edi
and esi, edx
bswap esi
not edx
jmp 0x46c195
mov ecx, dword [esp + 0x34]
sub esi, edx
xor ebx, edi
mov edx, ebx
xor edx, edi
xor edi, 0x1a7cef03
add ebx, esi
and esi, 0x1a7d22b9
or edx, edi
mov ebx, 0x1a7d5cc3
sub edx, esi
rol edi, 0xa
and edx, edi
jmp 0x46c689
mov ecx, dword [ecx]
sub edx, esi
sub edx, edi
add edi, esi
or edx, 0x1a885b15
neg ebx
add edx, 0x1a8c9f7f
xchg edi, edx
dec edx
add ebx, esi
or edx, edi
shr edx, 0x18
add ebx, 0x1a8d4081
jmp 0x46f7c6
inc dword [esp + 0xb4]
xchg esi, ebx
mov edx, 0x1a8ee179
mov esi, ebx
add edx, esi
or esi, edi
shl edi, 0x15
jmp 0x46b1ca
mov dword [esp + 0x5c], ecx
xor esi, edi
inc esi
sub edi, ebx
sub edi, esi
xor esi, ebx
xchg ebx, esi
add edi, esi
xchg esi, edx
xchg ebx, esi
or edx, ebx
not esi
shl edx, 0x12
nop
or edi, esi
add ebx, esi
add edi, edx
jmp 0x46e57e
mov ecx, dword [esp + 0x54]
add edx, edi
or ebx, edi
and esi, 0x1a99969f
xchg esi, ebx
add edi, esi
shr edi, 0xc
sub edx, ebx
rol esi, 0x1d
sub edx, edi
or ebx, esi
mov edx, 0x1a9a734f
and edx, 0x1a9a8fdf
jmp 0x46ce18
mov ecx, dword [esp + 0x34]
rol edx, 0x1a
xchg ebx, edx
not esi
or edi, edx
xchg esi, edi
mov ebx, edx
add edi, ebx
xor ebx, 0x1a9faf8b
ror edi, 2
mov esi, 0x1a9fe7f9
mov esi, 0x1aa00053
mov edx, ebx
or ebx, edx
mov ebx, 0x1aa04e7b
jmp 0x46bc0d
mov dword [esp + 0x54], 0
mov esi, ebx
add edx, ebx
add ebx, edi
shl ebx, 5
or esi, edi
shl edi, 0x1a
and edi, ebx
xchg ebx, edi
not esi
add esi, edx
xchg edi, ebx
and edi, esi
jmp 0x46f974
sub dword [esp + 0x34], 8
xor edi, ebx
dec edx
xor ebx, edx
xor edx, esi
or esi, edi
xchg edx, ebx
and edi, ebx
dec ebx
and edi, esi
add edi, 0x1abd5d05
xchg edx, esi
mov edi, 0x1abd9225
jmp 0x46b161
mov ecx, dword [ecx]
xor edx, ebx
and edi, 0x1ac65839
and esi, edx
xchg edx, esi
and esi, edx
mov edi, 0x1ac6c589
sub esi, edx
and esi, 0x1ac6feb7
jmp 0x46ef0e
add ecx, dword [esp + 0x34]
bswap edi
add esi, edx
or edx, esi
or ebx, 0x1ace3023
mov ebx, edi
mov edx, 0x1ace67df
xor edi, 0x1ace8771
or esi, edx
jmp 0x46d9ff
mov ecx, dword [ecx]
add edi, edx
nop
or edi, ebx
bswap esi
xchg edx, edi
xor edi, ebx
and esi, ebx
mov esi, edx
and edx, esi
xchg esi, edx
jmp 0x46d53e
mov ecx, dword [esp + 0x5c]
shl edi, 0x14
ror edi, 8
and ebx, esi
xchg edi, edx
or edx, esi
xor ebx, edi
jmp 0x46f1b3
mov ecx, dword [ecx]
and esi, 0x1adae29f
sub edi, edx
mov ebx, edx
and edi, ebx
dec ebx
and esi, edx
add edx, 0x1adb8673
and edx, esi
xchg ebx, edx
not edi
add edx, esi
xchg edi, esi
xchg edi, esi
sub ebx, edx
jmp 0x46f593
movzx ecx, word [ecx]
ror edx, 0x18
mov edx, 0x1ae5f02d
mov ebx, edi
mov edx, ebx
neg esi
add ebx, 0x1ae65d7f
neg edi
xor esi, edi
neg ebx
dec edi
or esi, edx
or esi, 0x1ae721a5
jmp 0x46bb67
mov dword [esp + 0xa0], ecx
nop
mov edx, ebx
xor edx, edi
ror edx, 0x12
add ebx, esi
neg esi
sub esi, edi
sub edi, ebx
add esi, ebx
mov ebx, edx
not ebx
add edx, esi
jmp 0x46eb14
add ecx, 0x3c
xchg edi, esi
mov edx, ebx
dec esi
neg edx
inc edi
not esi
neg ebx
add ebx, edx
and esi, ebx
dec esi
jmp 0x46ce3f
mov ecx, dword [ecx]
add edx, edi
or esi, 0x1af47629
add edx, ebx
and ebx, edx
or ebx, 0x1af4c4e3
add ebx, esi
add edx, 0x1af4fc09
or edx, edi
jmp 0x46cfa8
ret
push ecx
xchg esi, edx
not edi
add edi, 0x1b03d2ed
xchg ebx, edi
add esi, edi
shr esi, 3
bswap esi
nop
or edi, esi
add ebx, esi
xor edx, 0x1b04ae31
mov edx, 0x1b04cafd
jmp 0x46bbb8
mov ecx, dword [esp + 0xb4]
or edx, ebx
mov edx, edi
ror ebx, 0x18
sub esi, edi
ror edi, 0x1d
or esi, 0x1b073a85
add edx, ebx
xor esi, ebx
ror edi, 0x1a
dec esi
and esi, edi
xor ebx, edx
or edi, 0x1b07fa89
add edx, esi
neg ebx
or edi, 0x1b084db3
jmp 0x46ed35
mov dword [esp + 0x34], ecx
shr edi, 0xd
sub edx, ebx
sub ebx, edx
sub edx, edi
jmp 0x46dcd2
xor al, byte [ecx]
and edi, esi
shl edx, 0x16
add edx, ebx
or esi, 0x1b10e495
and esi, edi
xor edi, 0x1b111b7b
sub edi, 0x1b11378b
sub edi, esi
shl esi, 0x1e
xor esi, ebx
mov esi, edx
mov edx, ebx
or edx, ebx
xchg edx, esi
dec esi
and esi, edx
jmp 0x46e4cb
mov dword [esp + 0xb4], 0
xchg ebx, edi
sub edi, edx
or esi, edx
ror edx, 7
and ebx, edi
mov edi, 0x1b18a545
add edx, ebx
sub edi, ebx
jmp 0x46e427
mov ecx, dword [ecx]
and esi, edi
bswap edi
bswap ebx
add ebx, esi
jmp 0x46dc40
mov dword [esp + 0x34], ecx
sub edx, 0x1c0d1d63
mov esi, edx
add esi, edi
and ebx, 0x1c0d6f4d
jmp 0x46f8ad
add dword [esp + 0x34], 0x78
rol edi, 6
ror edx, 0x1f
and esi, ebx
or edx, ebx
mov edx, edi
add ebx, edi
and edi, esi
add edi, 0x1c12261f
add edi, 0x1c124637
mov esi, edi
jmp 0x46c813
add dword [esp + 0x34], ecx
shl esi, 0x14
mov edx, 0x1c36c5db
mov ebx, edi
sub esi, edx
sub esi, edi
xor edx, ebx
sub esi, edx
ror esi, 4
or edi, esi
sub edx, ebx
inc edi
xchg edi, ebx
mov edi, edx
sub edx, esi
jmp 0x46f5ec
add dword [esp + 0x34], 4
shl ebx, 7
or ebx, edx
bswap edi
inc esi
jmp 0x46c539
jne 0x46c6db
mov edx, ebx
add edx, 0x1c4fd479
or edi, ebx
mov ebx, esi
inc esi
ror ebx, 0xf
inc edi
xor esi, edx
and esi, 0x1c5099bb
xchg edi, ebx
add edi, esi
or esi, edi
sub ebx, 0x1c510025
add ebx, 0x1c511cb5
xor edi, edx
add ebx, edx
jmp 0x46e244
mov dword [esp + 0x5c], 0
not ebx
xchg edx, esi
dec edx
sub edi, edx
inc edx
xchg edx, ebx
ror edi, 0x12
dec esi
sub ebx, edi
or ebx, edi
jmp 0x46c923
rol eax, 8
and ebx, esi
sub edx, 0x1c5663a1
or ebx, esi
mov edx, 0x1c569677
or ebx, esi
and edx, 0x1c56cd2f
and edx, 0x1c56ecc7
mov edi, edx
jmp 0x46bf71
mov eax, 2
xchg edx, esi
or edx, esi
and ebx, edi
inc esi
mov edi, edx
add edi, 0x1c5c90bf
jmp 0x46d4bf
cmp byte [ecx], 0
jmp 0x46c32d
cmp eax, dword [esp + 0xa0]
jmp 0x46e3ed
mov ecx, 0x30
mov ebx, edi
not esi
mov edx, 0x1c906ef9
or edi, 0x1c908add
or esi, edi
or edx, esi
neg ebx
shr edx, 0x17
add ebx, edi
bswap edx
xor ebx, esi
add esi, edx
shl esi, 0x1e
xor esi, edi
jmp 0x46f28b
mul ecx
and edi, 0x1ca261bf
shr edx, 0x10
add ebx, 0x1ca299ad
xor esi, edi
ror edi, 0x16
inc edx
xchg edx, ebx
ror edi, 0xf
bswap edx
and ebx, edi
jmp 0x46b5b8
add ecx, dword [esp + 0x54]
mov edx, ebx
bswap edx
xor edx, edi
xchg edi, edx
and edx, 0x1cadbe23
mov edi, edx
dec ebx
sub edi, ebx
jmp 0x46f31b
add ecx, dword [esp + 0x54]
not ebx
and edi, 0x1cb0d573
or edx, 0x1cb0f157
and edx, 0x1cb10de7
xor ebx, esi
neg edi
jmp 0x46f060
mov dword [esp + 0x34], ecx
xor ebx, esi
sub edi, ebx
xor edi, esi
mov edx, esi
jmp 0x46ce59
add ecx, dword [esp + 0xb4]
mov edi, 0x1cc823c3
mov edx, esi
sub edi, ebx
xchg edi, esi
xor edi, ebx
mov edi, edx
xchg ebx, esi
ror ebx, 0x14
and edx, 0x1cc8fa8b
mov ebx, esi
jmp 0x46b8cb
mov ecx, dword fs:[ecx]
and ebx, edx
inc edi
not esi
xor edx, edi
add edx, ebx
mov edi, 0x1ccf5191
shr esi, 0x1f
add edx, 0x1ccf8dad
add ebx, 0x1ccfa607
dec ebx
xor edi, edx
add edi, 0x1ccffaef
jmp 0x46f641
add esp, 0xd4
sub edx, edi
sub edi, ebx
inc ebx
sub edi, edx
mov ebx, edi
xor edx, ebx
add edx, edi
bswap edi
xchg edx, ebx
and edi, esi
add edi, 0x1cd455ef
mov esi, edi
jmp 0x46d2f3
mov ecx, dword [esp + 0x34]
xor edi, ebx
or edx, edi
or edx, 0x1cda83c3
or esi, ebx
mov edx, 0x1cdaba03
inc edx
sub esi, edi
sub ebx, esi
jmp 0x46bd9e
add ecx, 0x18
add ebx, 0x1ce7db85
mov edi, 0x1ce7f47f
or edx, ebx
not esi
add esi, 0x1ce84659
bswap edi
add edi, ebx
mov edx, ebx
add ebx, edx
mov ebx, 0x1ce8cf27
or edi, ebx
xchg esi, ebx
xor ebx, edi
mov edi, esi
jmp 0x46b12b
add dword [esp + 0x34], 0x20
ror ebx, 8
inc edi
add esi, edi
sub edi, ebx
and edi, ebx
and edx, ebx
xor edi, esi
add edi, ebx
inc edi
neg esi
xor ebx, 0x1ceb60ef
sub ebx, edx
or esi, edi
or edi, edx
jmp 0x46c8c1
add ecx, 0xc
bswap edx
sub ebx, 0x1ced4585
add ebx, 0x1ced5e7f
or ebx, 0x1ced7aa5
rol esi, 0x11
inc edx
jmp 0x46f815
mov dword [esp + 0x54], ecx
mov ebx, edx
shr edi, 0x1c
add esi, 0x1cf0ec27
dec esi
shl edi, 3
add ebx, edx
xchg esi, edx
not edi
rol esi, 0x1c
neg edi
jmp 0x46c2e1
add ecx, dword [esp + 0x54]
xchg edx, ebx
and edx, 0x1cf8fbc5
mov ebx, 0x1cf91481
xor edi, 0x1cf930e5
bswap esi
dec ebx
and ebx, 0x1cf987cb
mov edi, ebx
mov ebx, 0x1cf9bf51
or edi, ebx
jmp 0x46c7e8
mov ecx, dword [ecx]
sub edx, esi
or edx, 0x1cfafd29
or ebx, edx
xor ebx, edi
rol edi, 0x1f
xchg ebx, edi
jmp 0x46b9ec
mov ecx, dword [esp + 0x54]
or edi, 0x1cffdad1
xor esi, 0x1d000019
or edi, ebx
xchg edi, ebx
sub esi, 0x1d006dbd
bswap esi
rol esi, 4
or ebx, 0x1d00e649
ror edi, 0xf
not ebx
add edi, ebx
and edi, ebx
jmp 0x46e131
mov dword [esp + 0x34], 0
xor edx, ebx
or edx, ebx
bswap edi
mov ebx, esi
and ebx, edi
mov edi, 0x1d06696f
jmp 0x46d141