Function at 0x46db7d
Capabilities:
Encrypt data using chaskey

Disassembly:
mul esi
xchg edi, ebx
mov edi, ecx
xor ebx, ecx
not ecx
xor edi, ecx
mov ebx, 0xc4778ca4
add edx, ecx
add edi, ecx
nop
jmp 0x46d6a3
add esi, 0xc
sub edi, 0xc47ba0b5
and edx, edi
dec edi
rol edx, 0x12
mov edx, ecx
and ebx, edx
ror ecx, 0x19
bswap edi
add edx, edi
jmp 0x46c45a
add esi, 0x3c
mov ecx, edx
rol edx, 0x15
xchg edx, ecx
or ebx, edx
and ebx, edi
neg ebx
sub edx, edi
or edi, ecx
mov edx, 0xc489cdfe
jmp 0x46c816
mov dword [esp + 0x28], 0
mov ecx, 0xc48da323
xor edi, ebx
neg edi
or edi, ecx
xor edi, ebx
xor ebx, ecx
mov ecx, 0xc48f116e
rol edx, 3
xor ecx, ebx
mov edx, 0xc48fc563
xchg edi, ebx
sub edi, 0xc4903d19
add ebx, edx
bswap edx
jmp 0x46b503
mov esi, dword [esi]
inc edi
shr ecx, 0x1f
xor edi, 0xc4989650
mov edx, edi
inc edx
and edi, ecx
or ecx, edi
sub ebx, edi
jmp 0x46c923
jne 0x46c74d
add edx, ecx
mov edx, 0xc4a2eb1b
xor ebx, ecx
neg edi
and ebx, ecx
and edx, ecx
or ebx, ecx
sub ecx, 0xc4a5f92d
ror edx, 0xe
jmp 0x46bf5a
mov dword [esp + 0x60], 0
sub edi, ebx
mov edi, 0xc4babc70
xor edx, ecx
and edi, 0xc4bb335b
xchg ebx, ecx
xchg ebx, edi
or ecx, ebx
sub edi, ecx
dec ecx
xchg edx, ebx
xchg ebx, edx
mov edi, ebx
ror ecx, 1
shl ebx, 8
jmp 0x46b89d
add esi, dword [esp + 0xac]
add ebx, ecx
not ecx
neg edi
xor ecx, ebx
mov edi, edx
jmp 0x46bffc
inc dword [esp + 0x28]
or ebx, 0xc4d5e8fc
mov edx, ebx
xor edx, ebx
mov ecx, 0xc4d6a169
shr ecx, 0x17
inc ebx
mov ecx, ebx
add ebx, 0xc4d78f31
jmp 0x46d404
add dword [esp + 0xb0], 0x78
xor edx, 0xc4e34b1b
inc ebx
neg ebx
and ebx, edi
or ecx, ebx
xor edi, ecx
or ebx, edi
mov edx, ecx
or ecx, 0xc4e529cf
xchg ecx, ebx
mov edx, ebx
xor ecx, 0xc4e5d646
add edi, ebx
inc ebx
neg edx
jmp 0x46bdcf
mov dword [esp + 0xac], 0
or edx, 0xc4f7201c
shr edi, 0x1f
add ebx, edx
jmp 0x46bd18
cmp byte [esi], 0
jmp 0x46b3dd
mov esi, dword [esi]
sub edx, ecx
or ebx, ecx
add ebx, ecx
mov ecx, edi
add ebx, 0xc516526a
bswap ebx
or edx, ecx
ror edi, 3
jmp 0x46b537
mov dword [esp + 0x60], esi
mov edx, ecx
dec edx
and edx, ecx
rol ecx, 0x1a
mov edi, edx
shl edi, 0xe
sub edi, ecx
add ebx, 0xc51b9efe
xor edi, ebx
bswap edx
xor edi, ebx
or ecx, ebx
jmp 0x46b698
mov esi, dword [esp + 0x60]
bswap edx
shl edx, 0xf
or ecx, edi
or edi, 0xc51f7bca
shl ebx, 5
or ebx, 0xc51fffb5
sub ebx, edx
sub ebx, ecx
inc edi
or ebx, ecx
jmp 0x46c967
mov esi, dword [esi]
add edx, edi
dec ebx
xchg ebx, ecx
or ecx, ebx
xor edi, ebx
neg edx
mov edi, edx
jmp 0x46c639
mov esi, dword fs:[esi]
mov edx, ecx
not ecx
sub edi, 0xc5235dfe
xor edi, ebx
not ecx
xchg ecx, edi
and edx, 0xc52457ca
mov ecx, edx
jmp 0x46b1b6
mov eax, 4
and edi, ecx
dec edi
or edi, 0xc5255331
xchg edi, ecx
xchg ebx, ecx
xor edi, edx
mov edx, 0xc526484e
jmp 0x46c52a
mov esi, dword [esi]
and ecx, ebx
or ebx, edx
sub ecx, 0xc5358550
neg edx
xchg edx, ecx
shr ecx, 0x1a
xor edx, ebx
xor edx, 0xc536b73e
jmp 0x46c9fe
mov dword [esp + 0xb0], 0
xchg ebx, ecx
sub ecx, ebx
add edi, 0xc54195a0
and edx, ecx
xchg ecx, ebx
mov edx, ebx
mov edx, ecx
neg ecx
rol ecx, 0x1f
and edx, ebx
not edi
xchg edi, edx
and ebx, edi
add ecx, 0xc54417ed
jmp 0x46bec7
mov esi, dword [esp + 0xac]
or edx, edi
not edi
add edx, ebx
dec ecx
and edi, 0xc5454bd4
sub edi, 0xc5458435
add ecx, edi
mov ebx, edx
xchg edx, ebx
nop
xchg ebx, edi
sub edx, ebx
sub ecx, 0xc547237c
sub ecx, edx
xchg ebx, ecx
jmp 0x46c9d3
mov esi, dword [esp + 0xb0]
bswap ebx
dec edx
add ebx, ecx
inc edi
mov edi, edx
ror ebx, 0x11
sub ebx, edi
mov ecx, edi
and edx, ecx
jmp 0x46c985
mov esi, dword [esp + 0xac]
mov ebx, edi
add edx, ecx
or ebx, ecx
add edx, 0xc54e5c82
or edx, 0xc54e9656
or ecx, edi
jmp 0x46c834
mov esi, dword [esi]
inc ebx
and ebx, 0xc558e058
xchg edx, edi
or ebx, edi
or ecx, edi
sub edx, edi
inc ebx
or edx, edi
and ebx, ecx
xchg ecx, edi
jmp 0x46c775
mov dword [esp + 0x38], esi
sub edx, ecx
mov ecx, ebx
or ecx, edx
and edi, edx
sub edi, ebx
shr edx, 0xf
xchg edi, ecx
mov edi, edx
or edx, ebx
xchg edi, edx
jmp 0x46c26e
pop esi
or edx, ebx
add ecx, ebx
or edx, 0xc56a29e4
add ebx, ecx
mov ecx, edi
shl ecx, 0x15
sub edx, edi
and edi, ecx
xchg edi, edx
or edi, ebx
sub edx, edi
sub ebx, 0xc56c37bb
jmp 0x46c8c4
push esi
shr ecx, 0x13
shl ebx, 3
add edx, 0xc57618a6
neg edx
add ebx, edi
ror edi, 9
xor ebx, 0xc5770e92
dec ebx
or edx, edi
xchg edx, ebx
xchg edx, edi
or edi, ebx
xchg ebx, edx
jmp 0x46c910
mov esi, dword [esi]
mov ebx, edx
add edx, edi
shr ecx, 0x13
xor edx, ecx
mov edi, ebx
ror ecx, 8
inc ebx
neg edi
shl ecx, 9
jmp 0x46c352
mov esi, 0x30
or edi, edx
shr edx, 0x1e
xor edi, ecx
inc edx
or edi, edx
sub ebx, 0xc5a1469f
jmp 0x46bb5f
mov eax, 2
dec edx
or edx, edi
add edx, 0xc5aa22ef
mov ecx, edi
xchg ebx, ecx
not ecx
add ecx, edx
mov ebx, ecx
and ecx, ebx
and ebx, edx
jmp 0x46d5ec
add esi, dword [esp + 0xac]
xchg edx, ecx
neg edx
mov ecx, 0xc5b378a4
xchg ecx, ebx
add edi, ecx
or ecx, 0xc5b4328d
add ecx, edi
shl ebx, 0x1a
xchg ecx, edx
jmp 0x46badf
mov esi, dword [esi]
or edx, ebx
ror edi, 0x1d
and ecx, ebx
and edx, 0xc5c6a7f7
or ecx, 0xc5c6e043
and edi, ecx
bswap edx
add edx, edi
mov edx, 0xc5c7cc90
inc ecx
ror edx, 7
jmp 0x46c594
movzx esi, word [esi]
or ecx, edi
mov ecx, ebx
mov ebx, edi
mov edx, ebx
xor ecx, ebx
xchg edx, ecx
xchg edx, edi
or edi, edx
sub ecx, edi
jmp 0x46b172
add esi, 0xc
xor ebx, edx
xor ebx, 0xc5eb148f
and edi, ebx
ror edi, 1
sub edi, ecx
xchg edi, ecx
or edx, edi
jmp 0x46be71
add esi, dword [esp + 0xac]
mov edi, ecx
xor ecx, edi
and edx, ebx
xchg edi, edx
bswap edx
dec edx
shr edx, 0x1b
xor ebx, edx
xchg ebx, edx
ror ecx, 0xc
jmp 0x46d3b3
xor al, byte [esi]
shr ecx, 0x18
mov ebx, ecx
sub ecx, ebx
neg ebx
and ecx, ebx
bswap ebx
xor edi, ebx
or edi, ebx
add edi, ebx
inc ecx
add ebx, edx
sub edx, 0xc60bbb32
shr edx, 0x18
mov edx, edi
jmp 0x46cc4d
mov esi, dword [esi]
xor edi, ecx
xchg edi, ecx
add edx, ebx
add edx, ebx
xchg edi, ecx
add edi, ecx
add ebx, 0xc60de095
jmp 0x46bc5f
mov esi, dword [esi]
sub edx, 0xc6177bf8
mov edx, 0xc617b7aa
xor ecx, edx
or edi, 0xc61836b8
xor ecx, edx
and ecx, edi
jmp 0x46cf20
add esi, dword [esp + 0xb0]
xchg edi, ecx
xchg ebx, edx
or edx, ebx
or ecx, 0xc619b29a
neg ecx
and edi, edx
xor ebx, edx
mov ecx, 0xc61aa182
xor ebx, ecx
jmp 0x46cffa
ret
cmp eax, dword [esp + 0x38]
jmp 0x46d559
xor eax, eax
mov edx, 0xc6258355
and ecx, edx
or edx, edi
nop
bswap edi
jmp 0x46c74d
add esi, dword [esp + 0xac]
ror edi, 0x14
xchg ebx, edx
add ecx, edi
neg edx
or edx, ecx
dec ecx
add ebx, edx
or ecx, ebx
sub edx, ecx
rol ecx, 0x1c
and edx, ecx
and ebx, edx
not edx
jmp 0x46cda1
add esi, dword [esp + 0x28]
sub ebx, ecx
rol edx, 0xc
inc edx
xor edx, ebx
xor ebx, edi
xor ebx, ecx
ror edi, 4
nop
add ecx, ebx
jmp 0x46bb7f
mov esi, dword [esi]
ror edx, 0x1d
sub ecx, edx
mov ebx, ecx
xor edi, edx
and ebx, ecx
jmp 0x46d1b1
add dword [esp + 0xb0], esi
mov edx, edi
or edi, ebx
xor edx, ebx
sub ecx, edi
xor edi, ecx
add ebx, edx
add ebx, 0xc6346f24
rol edi, 2
xor ebx, edi
mov ebx, edi
sub ecx, ebx
inc ecx
dec edi
xor edi, ecx
jmp 0x46d2be
add esi, 0x18
shr ecx, 0x1e
shr edi, 0xb
sub ecx, edx
or edi, ecx
shr ebx, 0x10
jmp 0x46cc28
mov esi, dword [esi]
sub edx, ebx
mov edi, ecx
xor ecx, edx
and ebx, edi
add edi, 0xc66104fc
or ecx, 0xc661405f
xchg ecx, ebx
add edx, ebx
xor ecx, edi
add ecx, edx
or ecx, ebx
jmp 0x46cd0b
rol eax, 8
xor edx, 0xc662af70
and edi, 0xc662f5cb
add edi, ebx
sub edi, ebx
or ebx, 0xc663a20b
jmp 0x46d4aa
mov dword [esp + 0xac], esi
xor ebx, ecx
dec ecx
jmp 0x46cd55
mov esi, dword [esp + 0xac]
xchg ebx, ecx
bswap ecx
xor ebx, edx
mov ecx, edi
xor edi, 0xc6758d2d
inc ecx
mov ebx, ecx
jmp 0x46b25c
add esp, 0xd4
xor ecx, 0xc679b46c
and ebx, ecx
shl edx, 3
bswap ebx
or edx, ecx
sub ebx, edx
mov edi, 0xc67b205d
and ecx, edi
sub edx, ecx
rol edi, 0x1d
mov edi, ecx
or edi, ebx
jmp 0x46c8a3
mov esi, dword [esp + 0xb0]
or ecx, 0xc67f1187
rol edi, 8
and edi, 0xc67f88f9
dec ecx
shl ecx, 9
and edi, ecx
and edx, edi
sub edx, ebx
add edx, 0xc680f470
mov edx, 0xc6813059
or edi, edx
add edx, 0xc681a608
xor edi, edx
or ebx, ecx
xor ecx, 0xc68259ed
and ebx, ecx
jmp 0x46bb4b
add dword [esp + 0xb0], 4
or ecx, edx
xchg ebx, edi
sub edi, ebx
and ecx, 0xc68bcc12
not ecx
shl ecx, 7
mov edx, ecx
sub ecx, edi
xor edx, edi
jmp 0x46bda0
mov dword [esp + 0xb0], esi
sub ecx, ebx
and edi, ecx
bswap edi
mov edx, ebx
xor edi, edx
add ebx, edi
bswap edi
jmp 0x46b77a
mov esi, dword [esp + 0x60]
add edi, ebx
or ebx, 0xc6988c56
and edi, ebx
xor ebx, 0xc69902ed
not edi
xor ecx, ebx
and edx, edi
mov ecx, 0xc699fba0
shl edi, 0x13
jmp 0x46ba99
mov esi, dword [esi]
mov edi, edx
add edx, 0xc6a119aa
mov ecx, 0xc6a15fad
sub edx, ebx
and ecx, edi
mov edx, ecx
ror edi, 0xe
add edx, edi
and edx, ebx
rol ecx, 5
jmp 0x46d177
mov dword [esp + 0x60], esi
mov ebx, edx
add edx, ecx
or ecx, ebx
add edi, ebx
jmp 0x46c2e4
mov esi, dword [esp + 0xb0]
xor edx, edi
nop
or edx, 0xc6b7a86f
not edi
sub ebx, edx
xor edx, edi
mov ebx, ecx
xchg ebx, edx
rol edi, 0xd
or ecx, edi
jmp 0x46c07e
mov dword [esp + 0xb0], esi
sub ecx, ebx
or edx, ecx
or ecx, edx
bswap edi
neg ecx
and edx, ebx
sub edx, edi
xor edi, ecx
inc ebx
or edx, ebx
not edi
mov edi, ecx
bswap edx
jmp 0x46bd4d
add esi, dword [esp + 0xac]
mov ebx, edx
xor edi, ebx
and edx, edi
mov ecx, 0xc6c1195f
mov edi, ecx
mov edi, ecx
xchg edi, ebx
or edx, ebx
neg edx
and ebx, edx
bswap ebx
sub ecx, 0xc6c2f836
xchg ecx, edx
mov edi, 0xc6c3718b
jmp 0x46d122
add dword [esp + 0xb0], 0x20
shl edi, 0xc
and ecx, edi
mov edx, ebx
sub edx, 0xc6d3d8f8
ror ebx, 0x19
sub ecx, ebx
add edi, 0xc6d48d30
bswap edi
add ecx, 0xc6d507da
xchg edi, ebx
xor ebx, edi
jmp 0x46d136
mov dword [esp + 0xb0], esi
xor ebx, edi
shr edx, 7
rol ecx, 0x13
add edi, ecx
shl edx, 0x10
xchg ecx, ebx
mov ecx, edi
bswap edi
xor ecx, edi
jmp 0x46bb22
add dword [esp + 0x60], 4
or edx, 0xc6ebb792
inc ecx
shl ebx, 6
neg edx
sub ecx, edx
not ebx
mov ecx, edi
shl ecx, 6
or edx, 0xc6ee5908
jmp 0x46cf78
inc esi
xor ecx, ebx
add edi, ecx
xchg ecx, edi
mov ecx, ebx
add ecx, ebx
add edx, ecx
rol edi, 0x10
shl edx, 0x19
jmp 0x46ba58
sub dword [esp + 0xb0], 8
sub edx, edi
sub edi, ebx
xor ecx, edi
xor edi, ecx
xor edi, ecx
shr edi, 3
shr ecx, 2
and ecx, ebx
sub edi, 0xc701d4ff
or ebx, ecx
jmp 0x46cdf1
jne 0x46b698
inc ecx
shr edx, 9
or edi, 0xc7047fa9
xchg ecx, edi
not edi
xor ecx, 0xc70536e4
sub ecx, 0xc705706d
and ecx, ebx
jmp 0x46ceae
mov esi, dword [esp + 0x28]
add ecx, edi
or edi, 0xc70c5b26
sub edx, ebx
add edx, ecx
add ebx, edi
mov edx, 0xc70d4444
neg edi
sub ecx, edi
rol edx, 0x1f
not ecx
or ebx, 0xc70e6866
jmp 0x46d6c1
mov esi, dword [esp + 0xb0]
dec ebx
xor edx, 0xc71382d0
not ebx
add ecx, edi
add ecx, edx
mov ecx, edi
xor ebx, ecx
and edi, ecx
neg ebx
mov ecx, edi
rol edi, 0x12
xor edi, edx
xchg edx, edi
xchg ebx, edx
or edi, ecx
jmp 0x46b347
add dword [esp + 0xb0], eax
bswap edx
add edx, 0xc718da63
xchg ebx, edi
sub edx, edi
xchg edi, ebx
add edi, edx
xor ecx, ebx
jmp 0x46d659
mul esi
sub ebx, edx
mov edx, 0xc71a843d
or edx, ecx
and ebx, 0xc71afa19
mov edi, ebx
mov ecx, ebx
jmp 0x46d74d
mov dword [esp + 0x28], eax
mov edx, ebx
add ecx, 0xc723f066
xor edx, edi
mov edi, 0xc7246490
not edi
mov ecx, edi
xor ecx, ebx
not ecx
jmp 0x46d517
sub esp, 0xd4
sub ebx, edx
xor edx, edi
mov ecx, ebx
ror ecx, 0x10
jmp 0x46b2ac