Function at 0x46c75a
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0xcc], ecx
mov edx, edi
xchg edx, ebx
rol ebx, 0x1f
and ebx, edi
xor esi, ebx
mov edx, edi
jmp 0x46d73e
mov dword [esp + 0xc4], ecx
bswap edi
not edx
or edi, 0x497ea331
sub ebx, esi
or esi, edi
neg esi
xor ebx, 0x497f9ccc
or edx, 0x497fec40
xchg esi, edi
sub esi, 0x49806b84
or ebx, edi
add esi, 0x4980e6d7
sub ebx, esi
jmp 0x46d07f
mov ecx, dword [ecx]
and ebx, 0x498744a6
xor edi, esi
not edx
mov edx, ebx
shr edx, 0x14
inc edx
rol edx, 0x17
shl edx, 9
sub ebx, 0x498c5701
not edi
rol esi, 0xb
and ebx, 0x498d188c
and edx, 0x498d56c0
jmp 0x46befc
mov ecx, dword [ecx]
inc edi
sub edx, ebx
ror edi, 0x1b
and ebx, edx
mov esi, 0x49c65f09
add ebx, 0x49c69c4b
rol edi, 0x16
xchg esi, ebx
shl edi, 9
bswap edx
or edi, edx
dec esi
and edx, esi
jmp 0x46c503
add dword [esp + 0xb4], 4
and edi, ebx
xor ebx, esi
rol edx, 0x14
xor ebx, edi
sub edx, 0x49d245b2
jmp 0x46db18
xor al, byte [ecx]
xor ebx, edx
mov ebx, edi
or edi, esi
xor edx, ebx
or edi, 0x49e48382
and ebx, esi
sub ebx, esi
rol esi, 0x17
jmp 0x46c44c
add ecx, dword [esp + 0x80]
mov edi, 0x49f88bd5
and ebx, 0x49f8c934
or esi, edi
bswap ebx
and esi, ebx
bswap edi
dec edi
sub esi, ebx
mov edx, esi
jmp 0x46c857
add ecx, dword [esp + 0x80]
xor edi, 0x49fd9444
rol edi, 5
and edx, edi
shr edx, 0x13
mov ebx, edi
or ebx, 0x49feccc6
bswap ebx
sub ebx, edi
not edi
xor edx, esi
add esi, ebx
mov edx, ebx
xor edx, esi
add ebx, edi
jmp 0x46c965
add ecx, dword [esp + 0x80]
dec edx
add edi, esi
xchg esi, edi
or ebx, edx
mov ebx, edi
mov edi, edx
rol esi, 0x15
add edx, edi
bswap edx
jmp 0x46d877
mov ecx, dword [esp + 0xb8]
add edi, esi
mov edx, ebx
mov edx, 0x4a1ee106
sub edi, 0x4a1f2169
shr edi, 2
mov ebx, edx
neg edi
and esi, edx
mov edi, esi
jmp 0x46c5bb
mov dword [esp + 0xc4], 0
bswap edi
add ebx, edx
neg edi
xchg edi, ebx
jmp 0x46dc92
add ecx, dword [esp + 0xb8]
and edi, esi
mov esi, 0x4a2adcc8
xor edx, edi
and ebx, 0x4a2b5a41
dec edx
sub esi, ebx
xchg esi, edi
not ebx
xor edx, ebx
xor edi, edx
or esi, 0x4a2d2520
sub ebx, edx
bswap edx
jmp 0x46dc30
sub dword [esp + 0xb4], 8
xor edi, esi
or esi, edx
xor edi, edx
inc ebx
dec ebx
sub edi, esi
shr edi, 0x1a
add ebx, esi
mov edx, ebx
or edx, 0x4a34523e
and esi, ebx
or ebx, edi
rol esi, 0xd
add esi, ebx
jmp 0x46c291
mov ecx, dword [esp + 0xb4]
xor ebx, 0x4a4004b4
neg ebx
add edi, 0x4a40840d
and edx, 0x4a40c5f1
dec edx
and edi, esi
xor ebx, 0x4a419089
inc esi
not esi
nop
shr edi, 0x14
jmp 0x46bb79
add ecx, 0xc
shr edi, 0x17
rol edx, 0xb
and esi, edx
or edx, esi
shr edi, 0x1f
sub ebx, edi
add esi, edi
dec ebx
xor edi, esi
add ebx, edi
xchg edx, ebx
and edx, edi
sub edi, 0x4a4bc2c2
bswap esi
jmp 0x46cc4d
add dword [esp + 0xb4], ecx
add edx, 0x4a52e0a8
nop
not esi
and edx, 0x4a539f00
shr edx, 0x16
rol ebx, 0x15
and ebx, edi
mov ebx, edi
inc edx
add esi, edi
add esi, edx
or edi, ebx
mov esi, edx
jmp 0x46db7b
mov ecx, dword [ecx]
sub esi, edi
or esi, 0x4a565dbf
sub ebx, edx
xchg ebx, esi
jmp 0x46d228
pop ecx
xor esi, edx
bswap edi
and edx, esi
add edx, edi
and edi, esi
nop
xchg ebx, edx
and ebx, esi
shr esi, 0x1e
sub edi, 0x4a5f070a
shr edx, 0x1f
jmp 0x46d138
rol eax, 8
sub ebx, edx
sub edx, edi
and ebx, edx
jmp 0x46cc1f
mov ecx, dword [esp + 0xc4]
sub edx, edi
add esi, 0x4a69f494
add edi, esi
bswap ebx
shl esi, 0x16
add edi, esi
sub esi, 0x4a6b397a
add edi, 0x4a6b77a8
shl edi, 0x1b
bswap edi
jmp 0x46db65
mov ecx, dword [ecx]
add edi, edx
ror edi, 0x1a
xor edi, ebx
add ebx, edi
mov esi, edx
xchg edi, esi
dec ebx
mov edi, 0x4a6df132
sub ebx, 0x4a6e3c9c
sub ebx, edx
xor edi, ebx
xor edx, esi
or edx, 0x4a6f3117
add edi, edx
add edi, ebx
jmp 0x46d9d3
mov ecx, dword [ecx]
dec esi
neg ebx
ror esi, 2
and edx, edi
xchg esi, edx
or edi, edx
sub edi, esi
mov edi, ebx
or ebx, esi
xor edx, 0x4a769abb
dec edx
jmp 0x46c093
mul ecx
or esi, edi
xchg ebx, esi
shl esi, 0x1f
xor edx, edi
add ebx, edx
add edi, ebx
sub esi, edi
and edi, 0x4a7bf069
and esi, edi
sub edi, edx
add edx, edi
ror edx, 6
and edi, edx
jmp 0x46c9e7
mov ecx, dword [esp + 0x80]
neg ebx
and ebx, edx
shr edi, 0x1c
and ebx, 0x4a7e3af4
sub edi, 0x4a7e7ba2
not ebx
dec edi
mov edx, 0x4a7f3416
sub esi, edx
mov ebx, 0x4a7fb1ec
jmp 0x46cd0a
mov dword [esp + 0xb8], 0
xchg esi, edx
add ebx, edx
rol esi, 0x1a
sub edx, 0x4a836117
and edi, edx
neg esi
ror esi, 0x11
add esi, edi
sub edx, esi
jmp 0x46c117
mov dword [esp + 0xb4], ecx
shl edx, 0xa
dec ebx
xor edx, esi
and edx, 0x4a859d1c
add edx, esi
xor esi, 0x4a8624e2
ror edx, 0xa
xor esi, 0x4a86a367
xchg edx, ebx
or edx, edi
and esi, 0x4a8758ed
jmp 0x46db98
add ecx, 0xc
xor esi, edi
shl edx, 0x1c
add edx, edi
shl edi, 6
xor edi, edx
sub edi, ebx
or edx, esi
xchg esi, edi
shr edx, 8
add ebx, esi
jmp 0x46d8b2
mov ecx, dword [ecx]
and edx, edi
bswap esi
or edi, esi
sub edi, 0x4a934d9a
mov edi, ebx
add esi, edx
inc ebx
jmp 0x46bf3a
sub esp, 0x110
sub ebx, edx
xchg edx, esi
xor esi, edx
xor edi, 0x4a969340
inc edi
jmp 0x46c633
mul ecx
neg edx
mov esi, 0x4a97652b
mov esi, edi
jmp 0x46d4a7
add ecx, dword [esp + 0x80]
nop
sub edi, ebx
and ebx, edi
bswap edi
add ebx, 0x4a98f948
xchg ebx, edi
not ebx
neg edx
xchg esi, edx
or edi, ebx
or ebx, edx
inc esi
inc ebx
jmp 0x46ca77
mov eax, 2
add edi, edx
or edx, 0x4aa472b7
neg esi
and edi, edx
xor edi, esi
sub ebx, esi
add ebx, edi
or edi, 0x4aa5f8d6
inc esi
xor ebx, 0x4aa675ad
and edi, ebx
or edx, esi
jmp 0x46c0cf
mov dword [esp + 0xb4], ecx
rol ebx, 0xe
xchg esi, edi
xor esi, edx
or esi, ebx
sub esi, edi
xchg esi, edi
jmp 0x46c94e
mov ecx, dword [esp + 0xc4]
bswap edi
xchg ebx, edi
xor edx, ebx
inc ebx
and esi, edi
add edx, esi
jmp 0x46c18b
add esp, 0x110
xor ebx, esi
xor ebx, edi
add ebx, esi
neg edx
dec esi
jmp 0x46d77b
mov dword [esp + 0xb8], eax
sub esi, edi
ror edi, 0x1f
xchg esi, edx
or edx, esi
shr edi, 0x17
or esi, edi
ror esi, 0xd
add edx, ebx
sub esi, edx
not esi
or esi, edi
xchg edx, esi
jmp 0x46c1ee
push ecx
dec ebx
ror edx, 0xb
nop
xchg edx, edi
or edi, 0x4ad27150
neg esi
dec ebx
and esi, edx
mov esi, edi
rol edx, 7
xchg edx, esi
or ebx, edx
sub esi, edi
jmp 0x46cf13
mov ecx, dword [esp + 0x80]
or edx, edi
add esi, edi
xchg edx, ebx
dec esi
shl esi, 5
mov edx, ebx
mov esi, edi
or edi, edx
or ebx, esi
and edi, ebx
jmp 0x46cf68
inc ecx
neg ebx
sub edi, 0x4af39b10
xchg edx, esi
and ebx, edx
xchg edx, esi
and ebx, edx
or esi, edi
xor ebx, 0x4af56c56
or edx, esi
rol edi, 3
ror edx, 0x17
or edx, edi
xor edx, 0x4af69eee
jmp 0x46cee2
mov ecx, dword [ecx]
inc esi
sub esi, edi
xor esi, 0x4af76a71
or edx, edi
shr edi, 0x19
sub ebx, edx
jmp 0x46bc7c
add dword [esp + 0xb4], 0x78
sub ebx, esi
bswap edi
rol edx, 0x11
jmp 0x46c5e2
add ecx, dword [esp + 0xb4]
add edx, ebx
ror ebx, 0xd
mov edi, edx
not ebx
or esi, edi
add edi, esi
jmp 0x46d764
jne 0x46d07f
mov edx, edi
mov edi, esi
or edx, edi
jmp 0x46bd13
cmp byte [ecx], 0
jmp 0x46d480
xor eax, eax
and esi, edx
xor esi, 0x4b27ab97
sub edi, esi
dec esi
inc ebx
sub ebx, esi
inc esi
and edi, ebx
sub ebx, esi
dec edx
add esi, ebx
mov esi, 0x4b2a1d43
xor esi, edi
xchg ebx, edi
mov edx, esi
jmp 0x46be07
add ecx, 0x3c
and ebx, 0x4b2ebe0f
sub ebx, esi
xor ebx, edx
sub esi, edi
dec esi
xor edi, esi
and edi, ebx
sub ebx, 0x4b30780e
and esi, edi
mov esi, ebx
or ebx, 0x4b318bec
jmp 0x46db37
mov ecx, dword [esp + 0xb4]
add ebx, edx
shr ebx, 0x1a
mov esi, edi
xchg ebx, edx
xor edi, esi
jmp 0x46c728
inc dword [esp + 0xb8]
add ebx, edx
xchg esi, edx
and edi, edx
inc edi
xchg edi, edx
and ebx, 0x4b43fa3a
xchg esi, edx
xor esi, 0x4b4477ab
sub ebx, 0x4b44b5e7
jmp 0x46d6e0
mov dword [esp + 0xb4], ecx
mov ebx, edi
and edx, esi
sub edx, ebx
add ebx, edx
add ebx, edx
add edi, edx
add ebx, 0x4b490194
or edx, esi
xor edx, edi
and edi, edx
xor esi, edx
ror edx, 0x15
shl esi, 7
jmp 0x46cc9a
cmp eax, dword [esp + 0xcc]
jmp 0x46ced1
mov dword [esp + 0xb4], 0
add edx, esi
xor edi, 0x4b506d7a
mov edx, esi
xchg edx, edi
or esi, 0x4b513797
xor edx, 0x4b51750b
xor ebx, edi
xchg edx, ebx
xchg edi, edx
and edi, 0x4b526b75
jmp 0x46badb
mov ecx, dword [ecx]
xor edx, ebx
add ebx, esi
add edx, esi
and edx, ebx
sub edi, edx
add ebx, esi
sub edx, ebx
and edx, esi
xor edx, edi
jmp 0x46daa4
add ecx, dword [esp + 0x80]
and esi, edx
xor esi, 0x4b60ce1c
sub edi, edx
xor edx, ebx
add esi, edx
shl esi, 0x1b
mov ebx, 0x4b620fa9
neg ebx
add esi, edx
inc esi
jmp 0x46baf4
mov ecx, dword fs:[ecx]
mov edi, 0x4b781dcb
xor ebx, 0x4b785d13
not ebx
xchg ebx, edx
ror edi, 0x14
and edx, ebx
xchg edi, ebx
or ebx, 0x4b79e481
sub ebx, 0x4b7a2473
jmp 0x46c6dd
mov ecx, dword [esp + 0xb4]
xchg esi, edi
or edi, ebx
mov ebx, edi
or esi, edi
mov edx, ebx
sub edi, esi
xor esi, ebx
xchg ebx, esi
or edi, esi
shl edi, 0xc
and esi, ebx
and edi, esi
jmp 0x46c3c8
jne 0x46be07
mov edi, ebx
rol esi, 5
add edx, ebx
and edi, edx
or esi, 0x4b934be7
or esi, edi
or ebx, edx
sub esi, edx
xor esi, edi
mov esi, 0x4b947e0b
jmp 0x46c42b
add dword [esp + 0xb4], eax
xchg ebx, esi
add edi, edx
xchg esi, edi
not edi
add esi, ebx
sub ebx, edi
add edi, edx
not edi
or edi, ebx
add edx, edi
or esi, edx
jmp 0x46d036
movzx ecx, word [ecx]
ror ebx, 3
add esi, edx
xor esi, 0x4ba55c3b
shr edx, 0xb
and ebx, edi
jmp 0x46c772
add dword [esp + 0xc4], 4
rol esi, 0x1c
and edx, esi
xor edx, esi
add edx, edi
and esi, ebx
xor edi, edx
sub edi, edx
add ebx, edx
ror esi, 0xe
not ebx
sub edx, 0x4bc37444
add edx, edi
inc edx
jmp 0x46c4d5
mov ecx, 0x30
rol ebx, 9
xchg edi, esi
xor edx, ebx
xor ebx, esi
not edx
mov edi, esi
xor edi, ebx
mov edi, ebx
add edx, 0x4bca4724
xor esi, edx
sub ebx, edx
inc ebx
jmp 0x46d35d
mov ecx, dword [ecx]
and edx, 0x4bcb55f5
mov ebx, 0x4bcba0cb
rol edx, 0x1c
add edx, ebx
jmp 0x46c65b
ret
mov dword [esp + 0xc4], ecx
inc ebx
and edi, edx
xchg edi, ebx
and edx, ebx
shl edx, 0xe
sub esi, edi
dec esi
and esi, edi
add ebx, 0x4be62e98
mov esi, ebx
xchg esi, edi
and edx, esi
and edx, esi
jmp 0x46c82a
mov ecx, dword [ecx]
shl ebx, 0x1b
neg ebx
add esi, edx
bswap edx
add edi, esi
xor ebx, edx
not ebx
or esi, edx
jmp 0x46c30f
add ecx, 0x18
dec esi
sub ebx, edi
sub edi, 0x4bfed12e
mov edi, ebx
or esi, 0x4bff4b35
mov esi, 0x4bff89a0
shl ebx, 0xe
jmp 0x46d1b3
mov dword [esp + 0x80], ecx
xchg ebx, edx
add edi, esi
shr edx, 0xd
and ebx, edi
shr edx, 9
and esi, edx
mov esi, edi
and edx, 0x4c0d80bf
and esi, ebx
inc ebx
mov edx, 0x4c0e3d35
jmp 0x46cb5c
mov ecx, dword [esp + 0xb4]
rol esi, 2
add edx, edi
bswap esi
mov edx, 0x4c158c52
inc esi
or edx, 0x4c161ab5
jmp 0x46c56d
mov ecx, dword [ecx]
xchg ebx, edx
add ebx, edx
add edx, 0x4c16e9d4
mov edx, edi
mov edi, esi
sub edi, 0x4c179f3e
and esi, 0x4c17ef74
add edi, 0x4c182c45
or esi, edi
add esi, edi
ror ebx, 0x1d
jmp 0x46d0ca
mov ecx, dword [ecx]
xchg edi, esi
shl esi, 0xa
xchg edi, ebx
or edx, edi
add edx, edi
add edi, esi
neg ebx
jmp 0x46c782
add dword [esp + 0xb4], 0x20
sub edi, 0x4c1b0dc5
bswap edx
and edi, ebx
and edi, 0x4c1bd654
jmp 0x46d3d8
mov ecx, dword [esp + 0x80]
xor ebx, 0x4c1c288b
shr ebx, 0x1d
and ebx, edi
xor edx, ebx
xor edx, edi
and esi, edi
xor ebx, esi
sub ebx, edx
or edx, ebx
jmp 0x46c39a
mov eax, 4
dec edx
neg ebx
sub esi, edi
xor edi, 0x4c277fe4
and ebx, esi
shl edx, 5
and ebx, edx
mov edx, esi
not ebx
mov edi, ebx
jmp 0x46d569
mov dword [esp + 0x80], 0
sub edx, 0x4c2e7a79
bswap edx
inc edi
add edi, ebx
or edx, 0x4c2f7513
xor ebx, esi
sub ebx, 0x4c2ff1c2
sub edx, 0x4c302e2c
xor edi, edx
and edx, esi
shr esi, 4
or edx, ebx
sub ebx, edi
xchg edi, edx
jmp 0x46d144