Function at 0x46b06b
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esp + 0x48]
add ecx, ebx
ror edi, 0x1e
xchg ecx, edx
add ebx, edx
xchg ebx, ecx
shl edi, 1
jmp 0x46927b
mov esi, dword [esi]
xor edi, ecx
and edi, edx
xchg ebx, ecx
or ecx, edx
nop
and edx, 0xe44f44f
jmp 0x4694c6
add esi, dword [esp + 0xbc]
or ecx, edi
sub edi, ecx
mov edx, 0xe94d777
or ebx, 0xe954a8d
dec ebx
mov edi, 0xe962fa4
and ecx, 0xe96a1f8
neg ecx
or ebx, ecx
jmp 0x46ac66
mov dword [esp + 0xbc], 0
or ebx, edx
shl edx, 0x15
sub edx, edi
ror ebx, 0xf
xchg ebx, ecx
and edx, ebx
ror edi, 4
add edx, edi
add edi, 0xea8b01e
add ecx, edx
jmp 0x46b88c
add esi, dword [esp + 0x48]
sub edi, 0xea9b796
xor edi, 0xeaa2912
add ecx, edi
mov edx, ebx
add edx, edi
sub edi, ebx
shr ecx, 0x17
bswap ebx
xchg ecx, edi
add edx, ebx
jmp 0x46bb7d
mov esi, dword [esi]
mov edi, 0xebcdf47
mov ebx, 0xebd51bf
bswap ecx
add ecx, ebx
and ebx, ecx
mov edi, ebx
xor edx, 0xebf9b08
or ebx, edi
inc edx
sub ebx, edi
sub edi, 0xec15eff
and ebx, 0xec1d013
jmp 0x469b16
mov dword [esp + 0x3c], eax
xor ecx, 0xed83b6f
add ecx, ebx
ror edx, 0x1a
sub ecx, 0xed98d65
and edx, edi
sub ecx, edi
or ebx, edx
add edx, 0xedb4ae6
or edx, ebx
mov ebx, edx
and edi, ecx
jmp 0x46b982
mov esi, dword [esp + 0xc0]
add ecx, 0xefcd902
sub ebx, edx
xchg edx, ecx
xor ebx, 0xefe49ad
shl edi, 0xa
or ecx, 0xeff2ef3
inc edx
sub ebx, 0xf0014f8
xor edx, ecx
ror edx, 0x13
inc edx
jmp 0x46bde4
movzx esi, word [esi]
rol edi, 9
xchg edx, edi
and ebx, ecx
xor ebx, edx
dec edi
xchg ecx, edi
xchg ecx, edi
jmp 0x46b452
add dword [esp + 0x48], 4
sub ecx, edi
xor ecx, edi
shl ecx, 9
add ebx, edx
bswap ebx
bswap edi
mov edi, ebx
xor edx, edi
not edi
xchg edi, ebx
jmp 0x46a51b
mov dword [esp + 0xc0], 0
add edx, 0xf3a299b
xor ebx, ecx
xor edi, ecx
and edx, edi
xchg ebx, edi
bswap edx
jmp 0x469558
mov eax, 4
shr ebx, 0x1e
and ebx, edi
or ecx, edx
bswap ebx
jmp 0x469873
mov esi, dword [esi]
add ebx, edx
add edx, edi
and ebx, ecx
rol edx, 0x11
rol edi, 0x1d
or edi, 0xf4f043a
add edx, ebx
or ebx, edi
and ecx, edi
neg edx
mov edx, edi
ror edx, 0x12
dec edi
sub edi, ecx
jmp 0x46a2ff
mov dword [esp + 0xbc], esi
or ecx, ebx
and edx, ecx
xchg ecx, edx
and edi, edx
xchg edx, ebx
mov edi, edx
neg edi
shr edx, 0x1b
sub edx, 0xf57c466
and edi, 0xf581432
bswap edx
and edx, ebx
ror edi, 0x1a
jmp 0x46b94e
push esi
or edi, 0xf596e67
and ecx, edi
xor ebx, edx
ror edi, 0x12
jmp 0x46b02e
ret
mov esi, dword fs:[esi]
or ecx, ebx
rol ebx, 0x1e
shr edx, 5
rol ecx, 0x17
sub edi, ecx
xor edx, ebx
and ebx, ecx
xor edi, ebx
mov ebx, 0xf6d3764
add edx, 0xf6d8725
add edx, 0xf6dd70b
or ecx, ebx
rol ecx, 2
not edi
neg ecx
or edx, ecx
jmp 0x46b517
add dword [esp + 0x48], 0x20
ror ecx, 0x17
or ecx, 0xf7b39a2
add ebx, edi
add ebx, edi
xor edi, ecx
xor ebx, 0xf7c7151
mov edx, ebx
rol ebx, 0x17
and ecx, 0x10297bfc
ror ebx, 0x10
ror edx, 6
xor ebx, ecx
and edi, ebx
xchg ecx, ebx
and ebx, edi
jmp 0x4691ca
mov esi, dword [esp + 0x3c]
xor ecx, edx
xchg edx, ecx
add edx, ecx
mov edi, ecx
xchg ecx, edx
mov edx, 0x10ba1e2c
inc ecx
add ecx, edx
add edi, ecx
jmp 0x46a963
inc dword [esp + 0x3c]
mov edi, ecx
bswap edi
xor ebx, edi
mov edi, ebx
not ebx
neg edi
or ecx, edi
sub ebx, ecx
xchg ebx, edi
or edi, ebx
xchg edi, ecx
mov ebx, edx
and ecx, edi
jmp 0x46a9cc
mov esi, dword [esp + 0xbc]
xor edi, ebx
not ecx
mov ecx, edi
sub edi, 0x10edf097
dec ebx
xchg ecx, edi
mov ebx, ecx
bswap edi
shl edi, 3
xor ebx, edx
sub edi, ecx
or ecx, edx
and edx, ecx
jmp 0x469583
pop esi
add ecx, ebx
or ecx, 0x110510ce
dec ecx
rol ebx, 3
bswap ebx
or ecx, 0x110740c7
and edx, 0x1107cae4
and edi, ebx
add edi, ebx
xor edi, 0x11098942
add ebx, 0x110a1788
add edi, ebx
jmp 0x46a297
jne 0x46a79c
or ecx, edi
xor ebx, edi
shr edx, 0x18
and edx, ebx
mov ebx, edx
inc edi
xor edi, ecx
inc edx
shr ebx, 0x14
xchg edx, ebx
or ecx, ebx
neg ecx
nop
mov edx, ecx
jmp 0x46a044
add esi, 0x3c
xchg ecx, edi
mov ebx, edi
sub ebx, edx
or edi, 0x117d5c84
xchg edi, ebx
shl ebx, 3
add edx, 0x1181770c
rol ecx, 0x17
mov ebx, edi
jmp 0x46b2f7
cmp eax, dword [esp + 0x9c]
jmp 0x46b114
add esi, dword [esp + 0xbc]
sub edi, edx
xor edx, edi
add ecx, ebx
mov edx, 0x11c54f29
mov ecx, edi
mov edx, 0x11c6bc51
or edx, ebx
xchg ecx, edi
sub edx, 0x11c8f412
jmp 0x46bac5
mov esi, dword [esi]
and edi, edx
xor edi, ebx
add edx, edi
neg edi
xchg ecx, ebx
or ecx, ebx
shr ecx, 0x1f
jmp 0x46a5e0
add dword [esp + 0x48], eax
sub ecx, edx
xor ecx, 0x11e17729
or ecx, edi
sub edi, ebx
sub edx, 0x11e3a9d3
sub ebx, 0x11e4689c
add edi, ebx
xor edi, ebx
jmp 0x46aadb
mov esi, dword [esp + 0x48]
shr edi, 0x17
xor edx, 0x123c4907
inc edx
mov ebx, edi
and ebx, ecx
not edx
sub ebx, 0x12400457
sub edx, 0x1240bccf
sub edx, 0x1241753d
jmp 0x46af28
mov esi, dword [esi]
xor ecx, ebx
neg ecx
sub ecx, ebx
xor ebx, 0x12549e0c
and edi, 0x12558bc1
rol edi, 0x17
jmp 0x46b558
mov esi, dword [esi]
mov ecx, 0x12671a9c
mov ebx, edx
sub edx, ecx
add ecx, edi
jmp 0x46a90a
mov esi, dword [esp + 0xc0]
mov edi, ebx
and ecx, edx
or ebx, ecx
neg ebx
mov ecx, ebx
sub ecx, 0x12b8dc93
jmp 0x46a780
add esi, dword [esp + 0x3c]
sub edi, edx
mov ebx, edx
mov edx, ecx
or ebx, edx
or ecx, edx
xchg edi, edx
sub ecx, edx
xor edx, ecx
jmp 0x469a6b
xor al, byte [esi]
mov ecx, ebx
not edx
or ebx, edx
not ecx
xor edx, edi
add ebx, ecx
and ebx, edx
jmp 0x46b537
mov dword [esp + 0xc0], esi
xor edi, 0x12ee2819
or ecx, 0x12eea0ec
xor edi, 0x12ef199b
bswap edi
xchg ebx, ecx
rol edi, 0xb
and edi, ecx
jmp 0x46b608
mov esi, dword [esi]
sub ebx, 0x130b0948
mov edi, 0x130b81cd
shr edx, 1
sub ebx, 0x130c722b
inc ebx
shl ebx, 0x1b
add edx, 0x130ddcca
xchg edi, ebx
and edi, edx
or ecx, edx
or ecx, edi
ror edx, 0x18
xchg ecx, ebx
add edx, ecx
jmp 0x46aced
mul esi
shl edx, 0xd
mov ecx, edx
and edi, 0x1317e3c9
and edi, 0x13185cf5
shl edi, 0x14
xchg ebx, ecx
and edi, 0x1319c48c
bswap edx
xor edx, ebx
inc ebx
mov edx, 0x131bc405
or ecx, ebx
and edx, 0x131cb0d0
xchg edx, ecx
jmp 0x4696e0
inc esi
add edi, 0x131dc856
xor ecx, edx
jmp 0x46b4b0
mov dword [esp + 0x9c], esi
shl ecx, 9
add edi, ecx
add edx, ebx
add edi, edx
xor ecx, edx
xchg edx, ebx
mov ebx, 0x1321d622
and edx, 0x13224f5c
jmp 0x46ab77
add dword [esp + 0xc0], 4
mov ebx, edi
add edi, ecx
sub ecx, 0x1323d5ec
ror edi, 0xa
dec edi
dec edx
sub ebx, edi
mov edi, ebx
add ebx, 0x1326be6b
jmp 0x469814
add dword [esp + 0x48], 0x78
sub ebx, ecx
shl ebx, 0x1b
add ecx, edx
inc edi
xor edx, ecx
and ecx, edx
xor ebx, 0x1fee49be
and edi, 0x1fee81bf
dec edx
add ebx, edx
sub edx, ebx
jmp 0x469fba
mov esi, dword [esp + 0x48]
or edi, ebx
and edi, 0x1ff3818c
xor ecx, ebx
or edi, edx
xor edx, edi
or edx, 0x1ff45ffb
xchg edx, ebx
rol edi, 0x16
xor ebx, 0x1ff512f6
not edx
and edx, edi
jmp 0x46a569
mov esi, 0x30
add edx, edi
inc edx
sub edx, ebx
add ecx, edi
rol edx, 0x10
and ecx, edx
and ebx, edx
sub edx, ebx
shl edi, 0x16
xor ecx, edx
inc edx
or edi, ecx
or ecx, edi
xor edi, 0x1fff5799
jmp 0x469c09
mov dword [esp + 0x3c], 0
dec edi
xor ebx, edi
sub edi, ecx
and ecx, edi
and edi, ecx
sub ebx, edi
sub edx, 0x20047327
sub ecx, 0x2004ae34
add ebx, ecx
and edi, ecx
add edi, ebx
jmp 0x4699e4
mov dword [esp + 0xc0], esi
rol edi, 0x1a
xor ecx, ebx
xor ebx, edi
sub edi, ecx
nop
ror edx, 0x12
add ecx, edx
ror ebx, 0x18
jmp 0x469f5c
add esi, 0x18
nop
mov edi, ebx
and ebx, edi
xchg ecx, ebx
sub ecx, ebx
shr ecx, 2
and edx, ebx
add ecx, edx
shr edi, 5
shr ecx, 4
and edi, edx
xor ecx, edx
dec edx
xchg edi, edx
jmp 0x46960f
add esi, dword [esp + 0xbc]
bswap ecx
xor ebx, ecx
sub ecx, edi
sub edx, ebx
xor edx, edi
mov edi, ebx
add ecx, edx
mov edi, 0x20330f6d
add ecx, edx
xchg edx, edi
and ebx, edx
mov ecx, 0x203aea9d
rol edx, 0x16
xor ebx, edx
or ecx, edx
xchg edx, edi
jmp 0x469b46
mov esi, dword [esi]
and ecx, edi
and edi, edx
sub edx, edi
add edx, edi
and ecx, edi
mov edx, edi
add edi, ebx
sub ecx, edi
sub edi, 0x20617222
xor ecx, 0x2061b1a0
sub ecx, edx
jmp 0x46bc27
xor eax, eax
and edx, ecx
bswap edi
xchg edi, ebx
mov ecx, edx
jmp 0x46a79c
sub esp, 0xf8
shl ebx, 4
mov edx, ecx
xchg ecx, edi
inc edx
xchg edi, edx
and edi, 0x207d62a8
xchg edx, ebx
xor ecx, 0x207ddfb6
add edx, edi
add ebx, edx
xchg ebx, edx
xchg edx, edi
jmp 0x46abd7
jne 0x469f5c
mov ebx, 0x208783e7
and edi, ecx
not ebx
xchg edi, ecx
jmp 0x469889
mov esi, dword [esi]
add ecx, edi
mov ecx, 0x20b0fbc1
xor edx, edi
mov edi, 0x20b176a8
add edx, ebx
add edi, ebx
add ecx, edx
add ebx, 0x20b2672f
and ecx, ebx
add edx, 0x20b2f06e
sub edi, ecx
bswap ebx
jmp 0x46ba4a
mov esi, dword [esp + 0xbc]
neg edx
dec edx
or ebx, 0x20c3f136
or ecx, ebx
inc ecx
mov ebx, edi
sub ebx, 0x20c4f75f
and ebx, edx
xor edi, 0x20c572ce
shl edx, 0x12
mov edx, 0x20c5f084
add edi, ebx
jmp 0x46b83f
mul esi
and edx, ebx
dec edx
rol edi, 5
sub edi, edx
and edi, ecx
or ecx, 0x20cd1771
shl ebx, 0x12
or edi, edx
sub ebx, 0x20ce5745
or ecx, edi
ror ebx, 8
jmp 0x46a380
cmp byte [esi], 0
jmp 0x46a152
add esi, 0xc
add ebx, 0x20d814b9
add edi, ebx
jmp 0x46a34b
add esi, 0xc
xchg ebx, edx
sub ecx, edi
nop
or ebx, edi
xor ecx, edi
add ebx, 0x20d9efea
add edx, ecx
mov ecx, ebx
inc edi
and edx, edi
sub edx, ecx
jmp 0x46bb97
rol eax, 8
shl edx, 7
add edi, ecx
sub ebx, 0x20dbf36c
xor edi, ecx
ror ecx, 0x1f
or edi, ecx
shl ecx, 0x15
sub ecx, edx
mov ebx, edx
jmp 0x46a99a
add esi, dword [esp + 0xbc]
and edx, 0x20ddaf29
or edi, 0x20ddedbb
or ecx, edx
inc ecx
and ebx, ecx
xor edi, edx
sub edi, ecx
mov ebx, edx
add ebx, edx
neg edi
add ebx, ecx
sub ecx, 0x20e054a6
xchg edi, ebx
jmp 0x46b77c
mov dword [esp + 0x48], esi
and ebx, 0x20e3acbb
shl ebx, 5
and edi, ebx
or edi, ecx
or edi, ecx
or edi, ebx
and ebx, edx
mov ebx, ecx
sub ebx, 0x20e5afac
jmp 0x46b3e1
mov eax, 2
xor ebx, 0x20e8f40b
add ecx, edi
xchg edx, edi
xchg edi, ebx
jmp 0x469e74
add esp, 0xf8
shr edi, 3
inc ebx
xchg edi, ebx
sub ebx, ecx
mov edi, edx
xchg ecx, ebx
xor ecx, 0x21071bb9
mov edi, ecx
rol edi, 0x1e
jmp 0x469bdb
add dword [esp + 0x48], esi
shr ebx, 0x11
or ecx, edx
or edx, ecx
xor edi, ecx
shr ecx, 0xb
sub edx, ecx
mov ecx, ebx
jmp 0x469cb5
mov dword [esp + 0x48], 0
ror edx, 7
mov edi, ebx
rol ecx, 0x1f
sub ebx, edi
xchg edx, ecx
shl edi, 0x11
mov ecx, 0x211b184a
add edi, 0x211b6986
mov edi, 0x211ba771
not edi
sub edx, ebx
mov ebx, edx
sub edi, ecx
add edx, ecx
and ecx, edx
jmp 0x46a9a8
mov esi, dword [esp + 0xbc]
sub edx, ecx
add edi, ebx
xchg edi, ebx
or ebx, edx
add edx, edi
sub edi, edx
jmp 0x46a1c2
sub dword [esp + 0x48], 8
sub edi, edx
rol edx, 0x19
xor edx, ebx
sub ebx, edx
add edx, ebx
add ebx, ecx
add edi, 0x212cb1ed
or ecx, 0x212cee65
add edx, ecx
or ebx, 0x212d68f4
jmp 0x46bcc3
mov dword [esp + 0x48], esi
xor ecx, 0x213b99ea
sub edx, ecx
xor edx, ebx
xchg ebx, ecx
add ebx, edi
dec edx
sub edi, 0x213d1ad6
or edi, edx
xor edi, ecx
jmp 0x46aa7a
mov dword [esp + 0x48], esi
add edi, 0x214327e3
add ecx, ebx
xchg edi, ebx
sub edx, ecx
shl edx, 0xe
add ebx, 0x21446a86
add edi, ecx
bswap ecx
or edx, ebx
neg edx
sub ebx, 0x21459f93
jmp 0x46a703
mov esi, dword [esi]
or ecx, edx
sub edx, ecx
xor ecx, edx
or ebx, ecx
xor edx, ebx
xchg edi, ecx
sub edi, ecx
add edx, ebx
ror ecx, 0xd
jmp 0x46b5b3
mov esi, dword [esi]
or edi, 0x215330c4
xor edx, edi
or ecx, edx
sub edi, edx
add edx, edi
and edi, 0x21546f28
jmp 0x46b507
add esi, dword [esp + 0xbc]
or ecx, ebx
and edx, 0x215dcd09
xor ebx, edi
mov edi, edx
ror ebx, 0xf
xor ecx, edx
or ecx, edi
mov ebx, edi
mov edi, edx
or ebx, ecx
jmp 0x46a831
mov esi, dword [esp + 0x48]
mov ecx, ebx
or ebx, ecx
add edi, edx
xchg edi, ebx
add edi, 0x2168ef7a
sub edx, ecx
add ebx, edi
or edx, 0x2169b692
sub edx, ecx
jmp 0x469ac6
mov esi, dword [esi]
add edx, ebx
dec ecx
or ecx, edx
xor ebx, 0x217c1a9c
xor edi, ecx
or edi, ecx
xor edi, ecx
xor edi, ebx
mov ebx, edi
jmp 0x46ad6c