Function at 0x50841e
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword [edi]
xor ebx, 0xf3216e55
sub edx, ebx
ror ecx, 0x11
xchg ecx, edx
rol ecx, 0x10
shl ebx, 2
not edx
bswap ebx
xor ebx, 0xf3225365
dec esi
ror edx, 0xf
add edx, ebx
and edx, esi
rol esi, 0xb
jmp 0x508202
add dword [esp + 0xe0], eax
xor ebx, 0xf324cbdf
dec edx
or edx, ecx
mov esi, 0xf32521f9
or edx, 0xf3253a67
mov edx, ebx
and edx, ebx
sub ebx, 0xf32588d7
jmp 0x50a682
add esp, 0xfc
sub edx, ecx
ror edx, 0x12
mov esi, ecx
sub ebx, edx
mov edx, ebx
shr edx, 8
xor ecx, 0xf3276da3
xor ecx, edx
sub ecx, esi
xor ebx, edx
jmp 0x50b64b
mov dword [esp + 0x40], edi
xor ecx, ebx
or edx, esi
mov ebx, edx
shl ecx, 0x19
not esi
xor ecx, edx
xchg ecx, edx
add ecx, edx
xor ebx, edx
and ebx, 0xf33a04ef
jmp 0x5090ab
mov eax, 4
and edx, esi
not esi
shr edx, 0x13
or ebx, esi
shr esi, 3
or ecx, ebx
or ecx, edx
not esi
or esi, edx
sub edx, ecx
or ebx, ecx
sub esi, 0xf34dbf6b
xor esi, edx
xor edx, ecx
jmp 0x5084bf
mov dword [esp + 0x98], edi
mov edx, ebx
neg ecx
sub ebx, edx
or ebx, esi
jmp 0x508d5f
sub esp, 0xfc
add edx, 0xf34feac1
and ecx, 0xf350077b
or ebx, 0xf350238b
xchg ecx, ebx
and ebx, edx
bswap ebx
xor ebx, ecx
sub ebx, ecx
shr esi, 2
add ebx, edx
add edx, ebx
or ecx, edx
jmp 0x5085da
cmp byte [edi], 0
jmp 0x5094d7
movzx edi, word [edi]
sub edx, ecx
mov esi, 0xf354b5d7
sub edx, esi
shr ecx, 5
xor ebx, edx
xor edx, ebx
mov esi, ecx
bswap ecx
mov esi, ebx
mov ecx, edx
jmp 0x50a445
mov edi, dword [edi]
inc edx
shr edx, 7
add ebx, 0xf355ea89
or esi, 0xf35606c3
xchg ebx, ecx
and esi, 0xf3563c39
add ebx, ecx
and esi, ebx
and esi, ecx
neg ecx
and ebx, 0xf356c73f
xor edx, esi
jmp 0x508b58
add edi, 0x3c
and ebx, edx
xor edx, 0xf3579a2b
not ecx
sub esi, 0xf357d577
shr ecx, 0xd
mov esi, edx
sub edx, esi
add ebx, ecx
sub esi, ebx
dec esi
neg ecx
sub ecx, ebx
jmp 0x50a5f1
xor eax, eax
sub ecx, esi
ror ebx, 0x15
shl esi, 0x12
shl esi, 0x1f
or edx, ecx
shl edx, 0x1c
jmp 0x50ae4c
mov dword [esp + 0x4c], 0
shl esi, 0x11
xchg ecx, edx
xchg ebx, esi
sub ecx, 0xf35dbb7f
add edx, ebx
xor edx, 0xf35dee27
sub edx, ebx
mov esi, ecx
mov ecx, esi
shr ebx, 1
sub esi, 0xf35e7949
xor esi, edx
jmp 0x5088fc
mov edi, dword [esp + 0x98]
xor edx, esi
xor ecx, edx
shr ebx, 0x16
or ebx, ecx
or ebx, 0xf36d3243
and edx, ebx
and ebx, 0xf36d696b
and ebx, esi
jmp 0x5097ec
mov edi, dword [edi]
inc ecx
bswap ebx
sub edx, 0xf3753ad5
mov edx, 0xf37557b3
add ecx, 0xf37577b1
rol ecx, 0xa
jmp 0x5098b9
mov dword [esp + 0x98], 0
and esi, edx
ror ecx, 0x1b
xchg ebx, edx
xchg ecx, ebx
add edx, ebx
ror edx, 0xf
jmp 0x508bd9
mov edi, 0x30
xchg esi, edx
xchg edx, esi
add ecx, edx
or esi, ebx
add edx, ecx
or ecx, ebx
add ebx, edx
and edx, 0xf37a4095
jmp 0x509520
mov edi, dword [esp + 0x40]
ror ecx, 0x11
xor ebx, edx
or edx, ecx
sub esi, edx
xchg esi, ebx
and edx, 0xf37de249
or ebx, 0xf37dff37
xor ecx, edx
mov ecx, 0xf37e381d
or ebx, esi
add esi, ecx
mov edx, esi
neg esi
mov esi, ebx
add ebx, esi
sub esi, edx
jmp 0x508a32
add edi, dword [esp + 0xe0]
and ebx, ecx
ror ebx, 0x18
shl esi, 6
ror ecx, 0x17
shr ebx, 0x18
sub esi, 0xf37f9d73
dec ecx
add esi, ecx
jmp 0x5084df
mov dword [esp + 0xe0], edi
xchg edx, ecx
or ebx, 0xf388c547
xchg ecx, ebx
and ebx, edx
shr ebx, 0xa
neg edx
xor ecx, esi
mov esi, ecx
bswap edx
mov esi, edx
or ecx, edx
sub ebx, 0xf389d7ef
xchg edx, ecx
mov ecx, ebx
jmp 0x50a561
mov dword [esp + 0x40], 0
not ebx
xchg esi, edx
xchg edx, ecx
ror esi, 9
ror edx, 0x1b
shr ecx, 0x11
jmp 0x508def
add edi, dword [esp + 0x40]
xor ebx, edx
sub ecx, 0xf38f5439
dec ebx
xchg edx, esi
or ebx, ecx
xchg ecx, edx
not edx
xchg edx, ebx
dec ebx
rol esi, 0xd
shl edx, 4
mov edx, esi
add esi, ecx
nop
xchg esi, edx
sub esi, edx
jmp 0x50ae0f
inc dword [esp + 0x4c]
sub ecx, 0xf398c0c9
add edx, ebx
or esi, 0xf398f473
mov edx, ecx
bswap ebx
ror ecx, 0x15
shr ebx, 3
or edx, esi
and edx, 0xf3999ccb
xchg esi, edx
sub ebx, edx
mov edx, ecx
jmp 0x50acc4
mov dword [esp + 0xe0], 0
mov ecx, ebx
xor ebx, ecx
shl ebx, 0x13
or esi, 0xf39d79fd
add ecx, edx
xor esi, 0xf39dad7d
jmp 0x5093a2
mov edi, dword [esp + 0x40]
mov ebx, esi
sub esi, edx
add ecx, ebx
mov esi, 0xf3b5c70d
sub edx, esi
sub edx, esi
sub edx, ebx
mov ebx, esi
jmp 0x508520
pop edi
or ebx, esi
and edx, ecx
inc esi
xchg ecx, esi
sub ecx, ebx
mov esi, ebx
add esi, ecx
mov edx, 0xf3b83065
bswap ecx
mov esi, edx
jmp 0x50b07d
mov dword [esp + 0xe0], edi
inc ecx
or esi, 0xf3b9c69f
and esi, ebx
xor ebx, 0xf3b9fd69
mov ebx, esi
sub ecx, ebx
and edx, esi
mov ebx, edx
inc ecx
inc ecx
xor ecx, edx
and esi, 0xf3bad5af
shr esi, 0x17
or ecx, ebx
jmp 0x509c9f
mov edi, dword [esp + 0xe0]
add ecx, edx
and ecx, esi
xchg esi, ebx
dec ecx
jmp 0x509b96
add dword [esp + 0xe0], edi
mov esi, 0xf3c21fb3
or esi, 0xf3c23bf5
xchg edx, esi
ror ecx, 1
shr ebx, 0x1d
or edx, esi
mov esi, ecx
xchg ecx, esi
ror ecx, 8
shr ebx, 6
mov esi, ecx
add ecx, ebx
and ecx, edx
xchg edx, ebx
jmp 0x50aa96
mov edi, dword [edi]
xor edx, 0xf3c3a063
xor ecx, esi
or ebx, esi
shr esi, 0x15
or ecx, ebx
add esi, edx
xor edx, esi
xchg edx, esi
neg edx
nop
jmp 0x509751
sub dword [esp + 0xe0], 8
xor esi, ebx
and edx, 0xf3c883c5
not ebx
not ebx
xor ecx, edx
add esi, ecx
sub ecx, ebx
or edx, esi
or ebx, edx
shl ecx, 0x16
jmp 0x50a3d1
mov dword [esp + 0xd8], edi
or esi, edx
xor edx, ecx
and ebx, 0xf3ce3f1f
xchg esi, edx
xor ebx, edx
and esi, edx
or ebx, ecx
rol ecx, 0x10
xor edx, ecx
and ebx, 0xf3cefb1b
jmp 0x50897c
jne 0x50ae4c
dec esi
xor esi, edx
xchg edx, ecx
and edx, esi
xor edx, esi
and edx, 0xf3d76aad
bswap ebx
add edx, ecx
sub ebx, ecx
mov edx, ebx
ror edx, 0x13
and ecx, ebx
sub edx, esi
ror esi, 0xd
shr edx, 0x13
bswap ebx
jmp 0x5090ed
mov edi, dword fs:[edi]
inc edx
rol ecx, 6
sub esi, ebx
not ecx
add ecx, 0xf3da8211
and ebx, 0xf3da9eff
shl esi, 2
ror ecx, 0xf
dec ecx
add ecx, esi
add ecx, 0xf3db2d97
shl ecx, 0x1e
sub ebx, edx
sub esi, ebx
or ebx, esi
not edx
jmp 0x509b6f
mov edi, dword [edi]
add esi, ecx
or edx, ecx
or ebx, ecx
not ebx
xor esi, edx
neg edx
shl edx, 5
and ecx, ebx
add ebx, edx
xor esi, ecx
mov ecx, 0xf3e5a147
ror ebx, 0x12
jmp 0x509d65
add dword [esp + 0xe0], 4
add ebx, ecx
xor esi, ebx
and ebx, edx
xor edx, 0xf3ed2c6d
or ecx, ebx
inc edx
sub ebx, esi
rol ebx, 1
xor esi, edx
mov edx, 0xf3ee274f
jmp 0x50917e
add edi, dword [esp + 0x40]
shr esi, 9
xchg esi, ebx
xor edx, 0xf3ee80df
add esi, edx
mov esi, ebx
xchg esi, ebx
jmp 0x5083fd
mov edi, dword [edi]
or esi, edx
or esi, 0xf3f3cda9
sub ecx, edx
mov esi, ebx
sub esi, ecx
xchg esi, ebx
mov esi, edx
add edx, ebx
jmp 0x508c3c
rol eax, 8
sub edx, ecx
bswap ecx
ror edx, 0x1c
not ebx
and ecx, edx
add esi, edx
mov esi, ecx
and edx, esi
sub ecx, edx
mov ecx, 0xf3f5bf1d
add ebx, 0xf3f5dbfb
add esi, ecx
jmp 0x5098d7
mov eax, 2
xor ecx, ebx
xchg ebx, edx
bswap edx
or esi, ebx
and ecx, ebx
sub edx, esi
add ebx, edx
mov ecx, 0xf3f8db73
or ebx, esi
bswap edx
jmp 0x50b044
add edi, dword [esp + 0x40]
or ecx, edx
and ebx, ecx
rol esi, 0x16
shl edx, 0xc
neg ecx
sub ecx, 0xf3fad801
jmp 0x509129
inc edi
xor ebx, edx
dec ebx
xchg esi, ecx
sub edx, esi
ror esi, 5
or esi, edx
add esi, ebx
sub edx, 0xf3fbb9f9
mov edx, 0xf3fbd9d5
add esi, ecx
bswap edx
or ecx, 0xf3fccfb9
and edx, ecx
and ecx, 0xf3fd02e3
jmp 0x50844e
add edi, dword [esp + 0x4c]
mov edx, 0xf404177f
sub edx, ecx
ror edx, 0x18
sub edx, ebx
mov esi, edx
dec ebx
xor ebx, ecx
inc esi
and edx, esi
mov esi, 0xf4050b1f
add ebx, esi
xor ecx, 0xf4053ef5
jmp 0x5083b4
mov edi, dword [edi]
neg ebx
add ecx, edx
or ecx, 0xf40ae089
or esi, 0xf40afd77
rol esi, 9
mov ebx, edx
sub ebx, edx
sub ecx, 0xf40b6b5b
ror ecx, 0x1c
mov ebx, esi
and esi, 0xf40bbbf5
xor ecx, edx
add edx, esi
mov edx, ebx
jmp 0x50a33b
add edi, 0xc
or edx, 0xf4108471
mov edx, ebx
xor edx, 0xf410bbcf
or ecx, edx
shl edx, 0xc
mov edx, esi
add ecx, ebx
ror edx, 0x14
shr ecx, 0xa
bswap ebx
jmp 0x509638
mov edi, dword [edi]
add esi, 0xf4119f85
or edx, esi
and ecx, edx
xchg edx, ebx
add ebx, 0xf4120707
sub esi, ebx
xor ecx, esi
or edx, 0xf4125b07
sub ecx, 0xf4127797
shr ecx, 0x11
or ecx, 0xf412ac8d
xchg edx, esi
mov esi, ecx
sub ecx, 0xf412fd43
jmp 0x50b343
mov edi, dword [esp + 0x98]
mov esi, ecx
not ebx
bswap ebx
add edx, ecx
shl ebx, 7
not esi
jmp 0x5099ab
add edi, 0xc
xchg esi, edx
sub esi, edx
xchg edx, ecx
add esi, ecx
xchg esi, ecx
add esi, ecx
shl esi, 5
add edx, 0xf422e8bf
ror ebx, 8
shl esi, 0x1a
jmp 0x509e9c
mov dword [esp + 0x98], edi
shl ecx, 2
xchg esi, ecx
xchg ecx, esi
ror ebx, 0xf
sub ecx, edx
xor edx, esi
sub ebx, 0xf427620d
and ebx, edx
jmp 0x509878
mov edi, dword [edi]
xor esi, edx
sub edx, 0xf42b4da3
ror ebx, 3
add edx, ebx
shl ecx, 0xd
mov edx, ecx
xchg edx, ebx
mov esi, ecx
sub ecx, 0xf42c097b
dec ecx
jmp 0x509a8b
mul edi
add ebx, ecx
and ebx, edx
mov esi, edx
rol edx, 0x12
and edx, 0xf456236f
shr edx, 0x19
inc ebx
shr esi, 0x18
xchg ecx, ebx
mov esi, 0xf456ad61
jmp 0x50b1b9
mov edi, dword [edi]
or edx, ebx
and edx, 0xf458073f
xor ebx, 0xf4582689
add esi, ebx
sub ebx, esi
and ebx, ecx
or ebx, 0xf4588f39
add ebx, edx
jmp 0x50a46e
mov edi, dword [esp + 0xe0]
xor ebx, esi
inc ebx
and edx, ebx
xor esi, edx
ror edx, 0x13
dec edx
mov ebx, esi
shr ebx, 0x17
or ebx, ecx
mov ecx, ebx
bswap edx
or ecx, edx
jmp 0x5088de
mul edi
sub ecx, 0xf463ef2b
shr ebx, 9
xchg esi, edx
rol edx, 0x14
add ecx, edx
or ecx, 0xf464740f
add esi, 0xf46490f5
or edx, esi
xor edx, ecx
not edx
jmp 0x5080c6
add edi, 0x18
or edx, ebx
neg edx
and ebx, esi
xor esi, 0xf465d5ff
add ebx, edx
xor ebx, 0xf4660d3b
xchg esi, edx
xor edx, esi
jmp 0x50804c
mov edi, dword [esp + 0x40]
mov esi, 0xf46e73c9
add ecx, edx
mov ecx, edx
and esi, 0xf46ebf6f
shr edx, 0xe
xor ecx, ebx
mov ecx, edx
sub edx, ebx
or esi, edx
and ebx, esi
xor ecx, esi
and ebx, edx
jmp 0x50922b
mov edi, dword [edi]
not ebx
and edx, ebx
mov ecx, 0xf4731419
add ebx, esi
add ebx, ecx
or ebx, ecx
xchg ecx, ebx
xchg esi, edx
and ebx, esi
xchg ebx, esi
jmp 0x50a91d
mov edi, dword [esp + 0xe0]
sub ebx, ecx
mov edx, ebx
or edx, 0xf4781473
mov edx, ebx
xchg esi, edx
shl edx, 0x16
mov edx, 0xf478858f
bswap ecx
neg esi
and edx, 0xf478d937
jmp 0x50b39a
add edi, dword [esp + 0x40]
sub ecx, ebx
sub ecx, ebx
and ebx, edx
or ebx, esi
xor edx, ecx
sub ebx, ecx
xchg ecx, ebx
mov esi, 0xf47bfd1f
add ebx, esi
sub edx, ebx
xchg ecx, edx
xor edx, ecx
jmp 0x508117
add dword [esp + 0xe0], 0x78
and edx, esi
mov esi, ecx
sub ecx, 0xf48c06c7
mov ecx, 0xf48c23d1
add edx, 0xf48c3c95
and esi, ecx
dec ecx
sub ecx, esi
dec edx
xor ebx, 0xf48cc95f
rol ebx, 4
add ebx, esi
jmp 0x5089fa
mov dword [esp + 0xe0], edi
xchg esi, ebx
ror edx, 0x1d
sub edx, ebx
add ebx, ecx
dec ebx
xor ebx, ecx
xchg edx, ecx
add ebx, edx
jmp 0x50a8ea
add dword [esp + 0xe0], 0x20
shl ecx, 7
and ecx, 0xf499db6d
shr ecx, 0x14
xchg ecx, ebx
ror ebx, 0x1a
dec edx
and ecx, edx
bswap esi
sub ebx, ecx
or ecx, esi
jmp 0x50ac17
mov edi, dword [esp + 0xe0]
sub edx, 0xf4a604cb
sub ecx, esi
xor ecx, 0xf4a63b71
mov ecx, ebx
mov ebx, edx
sub ebx, esi
or edx, ecx
and esi, 0xf4a6bbc1
xchg ecx, ebx
mov ebx, edx
xor edx, ebx
or ecx, ebx
jmp 0x50925e
add dword [esp + 0x98], 4
mov ecx, edx
add ecx, esi
inc ebx
shr esi, 3
add esi, ecx
xchg esi, ecx
shl ecx, 0x18
and ecx, 0xf4ac7b0b
dec ecx
xchg ebx, ecx
jmp 0x5087b8
push edi
ror ebx, 2
xor esi, ebx
sub ebx, esi
and ebx, ecx
neg edx
xor edx, ecx
add esi, edx
or edx, esi
sub edx, ebx
or edx, 0xf4b76589
jmp 0x508588
xor al, byte [edi]
xor esi, ecx
xchg ebx, edx
xor ebx, esi
bswap ecx
dec esi
and ecx, edx
mov edx, ebx
mov ecx, edx
xor esi, ebx
sub ebx, esi
and edx, 0xf4b98789
xor ecx, ebx
jmp 0x509807
mov edi, dword [esp + 0x4c]
or esi, edx
xor ecx, ebx
mov esi, ebx
not ecx
jmp 0x50a305
cmp eax, dword [esp + 0xd8]
jmp 0x50b0af
jne 0x508d5f
ror edx, 0xc
sub edx, ebx
neg ecx
add ecx, esi
or esi, edx
mov ecx, esi
xchg esi, ecx
not ebx
jmp 0x509729
mov dword [esp + 0x4c], eax
dec edx
xchg edx, ebx
or ecx, edx
sub ecx, edx
inc ecx
shr esi, 0xb
add ebx, edx
and ebx, esi
bswap edx
mov esi, ecx
and edx, esi
xor ebx, 0xf4d7e1b3
add esi, ebx
and ecx, 0xf4d81509
xor ebx, 0xf4d83143
xchg ecx, ebx
jmp 0x5092ea
add edi, dword [esp + 0x40]
mov edx, ecx
or esi, 0xf4e65059
and ebx, ecx
not ebx
xchg ecx, ebx
xor edx, esi
jmp 0x509df0
mov edi, dword [edi]
and esi, edx
and edx, ebx
shl ecx, 5
or edx, ecx
or ebx, ecx
xor edx, 0xf4e92af7
xchg ecx, esi
mov esi, ebx
jmp 0x50a702
ret