Function at 0x4957bb
Capabilities:
Encrypt data using chaskey

Disassembly:
add esi, dword [esp + 0x5c]
and ebx, edx
sub ebx, edx
shl edi, 6
inc edi
sub edi, edx
dec edx
add ecx, 0x7b68ea30
and edx, 0x7b692ad1
dec ebx
and ebx, ecx
xor edx, ebx
and edi, edx
jmp 0x495674
mov dword [esp + 0x98], esi
and ebx, ecx
inc ebx
shl edi, 0x1e
or ebx, edx
xor edx, ebx
or edi, 0x7b728b3b
add edx, 0x7b72d2b3
jmp 0x494841
cmp byte [esi], 0
jmp 0x494d26
mov eax, 4
and edx, ecx
shl edx, 0x1a
xor edx, edi
mov edi, 0x7b852b62
sub ebx, edx
and ecx, edx
and ebx, 0x7b8ce761
bswap edi
inc ebx
xor edi, ecx
jmp 0x495df7
mov esi, 0x30
sub edx, ebx
neg ebx
bswap edx
not ebx
add ebx, ecx
or ebx, edi
dec ecx
xor edi, ecx
not edi
jmp 0x49596a
add esi, dword [esp + 0x5c]
and edi, edx
xor ecx, ebx
and edi, ecx
neg edi
xor ebx, ecx
xchg ebx, ecx
dec edi
or edi, ecx
mov edi, 0x7bc14208
mov edi, ecx
or ecx, 0x7bc2d637
and ebx, 0x7bc318f1
jmp 0x4949ef
jne 0x496314
dec edx
shl edx, 7
neg edx
mov edx, edi
or ecx, 0x7bcbaa04
add edx, ecx
or ecx, edi
neg edi
xor edx, 0x7bcca3d3
and ecx, edi
jmp 0x496a46
push esi
or edx, ecx
rol edx, 0xe
or edx, ecx
mov ebx, edx
and ecx, ebx
xchg edx, ecx
xor ecx, ebx
add ecx, ebx
inc ebx
xor edi, 0x7bd19f97
xor ebx, edi
rol ecx, 3
xor edi, ecx
jmp 0x49598a
mov esi, dword [esi]
rol ebx, 0x13
sub ecx, ebx
dec ebx
or edx, 0x7bd82bc2
xor ebx, 0x7bd8733c
add edx, ebx
or ecx, edi
mov ecx, ebx
mov ebx, ecx
rol edx, 0x1b
and edi, ebx
xor edi, edx
jmp 0x494c68
pop esi
xchg edx, ebx
xor ebx, 0x7be483a5
or edx, 0x7be4cdc1
or edx, ebx
add ecx, edx
inc edx
xor ebx, edi
ror edi, 0x19
jmp 0x495e6b
add dword [esp + 0x48], 0x78
add ebx, edi
xchg ebx, ecx
or ecx, 0x7bf1bb16
dec edx
or ebx, edx
sub edi, 0x7bf275d1
xchg ecx, edx
sub ebx, ecx
neg edx
jmp 0x494c8c
add esi, dword [esp + 0x48]
ror ecx, 0xd
add edi, edx
rol edx, 0x16
xor ebx, ecx
shl ebx, 3
xor ebx, 0x7c0005fc
ror ecx, 0x1a
or edx, edi
sub edx, edi
xor ebx, edx
xchg edx, edi
jmp 0x496411
add esi, dword [esp + 0x5c]
rol ecx, 0x16
or edi, edx
mov edx, ecx
sub edx, ebx
nop
sub ebx, edx
or ebx, edx
and edx, 0x7c0faa48
sub edx, ebx
sub ebx, edi
jmp 0x49506f
mov esi, dword [esp + 0x5c]
dec edi
sub ebx, 0x7c10b21c
nop
neg ebx
xor ebx, edi
inc ecx
jmp 0x494ba4
jne 0x4968fb
and edi, ecx
and ecx, edx
mov ecx, edi
inc ebx
shr ecx, 0x1c
add ebx, edi
add ecx, ebx
bswap ebx
or ecx, edx
bswap ebx
jmp 0x494ae8
mov esi, dword [esi]
and edx, edi
not edx
and ebx, 0x7c31d400
xor ecx, edi
not edx
xchg edi, ecx
sub ebx, edx
and ecx, ebx
sub ebx, 0x7c33502c
xor ebx, edi
or ebx, 0x7c33cc4a
mov ebx, ecx
jmp 0x495ccc
mov esi, dword [esp + 0x3c]
or ecx, edx
or ebx, 0x7c5b142f
jmp 0x4961a1
mov esi, dword [esi]
mov edx, edi
xor ecx, edx
sub edi, ebx
xchg edx, edi
and edx, 0x7c677750
xchg ebx, ecx
shr edi, 0x13
shr ebx, 0xc
mov ecx, edi
inc ebx
mov ebx, edx
jmp 0x49469c
mov dword [esp + 0x48], esi
inc edi
and edx, 0x7c697c42
sub edi, 0x7c69bd0c
xor ecx, ebx
dec edi
mov ecx, edx
or edi, ecx
mov edi, 0x7c6afb57
mov ecx, edi
xchg ecx, edx
shl edi, 0x13
jmp 0x4966f8
mov esi, dword [esp + 0x48]
mov ecx, edx
add ebx, edi
and ecx, edi
xchg ecx, edi
inc edi
xor edx, edi
jmp 0x4959ed
mov dword [esp + 0x48], esi
add ebx, ecx
sub ecx, 0x7c75742c
or edi, ebx
or ebx, 0x7c75f01b
and ebx, ecx
shl ecx, 0x10
jmp 0x494b41
add esi, dword [esp + 0x5c]
xchg edx, edi
add ebx, edi
xor ebx, edi
shr ebx, 0x11
xor ecx, edi
not ebx
inc ebx
xor ecx, edi
jmp 0x495b0b
add esi, 0x3c
and edi, ebx
add ebx, 0x7c7c9f6b
xor edi, ecx
and edi, edx
dec edx
or edx, 0x7c82c2ec
xor ebx, 0x7c830308
and ebx, edx
jmp 0x4954fe
mov dword [esp + 0x48], esi
xchg ebx, edx
or edx, ecx
and edi, edx
and edi, ebx
xor ebx, 0x7c8484c8
mov ebx, ecx
and ebx, edi
jmp 0x496025
mov dword [esp + 0x48], 0
xchg ecx, edi
dec ecx
xor edi, edx
and ecx, edx
add ecx, 0x7c8aac0d
sub edi, edx
or ecx, 0x7c8b2b98
bswap edi
and edi, ebx
mov edi, 0x7c8bee29
jmp 0x494733
add dword [esp + 0x3c], 4
dec edx
not ebx
not edi
mov edx, 0x7c9a7280
xor ebx, 0x7c9ab299
or edx, edi
or ecx, ebx
shr ecx, 0x1f
dec edi
mov edx, edi
jmp 0x494eb9
mul esi
xor ecx, edx
xchg edi, ecx
add ebx, ecx
add ecx, edi
not edx
or edi, ecx
mov ecx, ebx
jmp 0x4954b2
add dword [esp + 0x48], esi
rol edx, 0x1f
sub edi, 0x7cd250b5
mov edi, ecx
not edx
add edx, ebx
mov edx, 0x7cd34e01
jmp 0x49696c
add esi, 0xc
or edi, edx
xchg edx, ecx
dec edx
inc edi
mov ecx, edx
add edi, edx
sub edx, 0x7cd50c31
or edx, edi
and ebx, 0x7cd59223
or edx, 0x7cd5d305
jmp 0x496504
mov esi, dword [esi]
xchg ecx, edi
xchg ecx, ebx
add edi, 0x7cd6a461
xchg ebx, edx
sub edi, edx
sub ecx, edi
mov ebx, 0x7cd7be16
jmp 0x494d8c
mov dword [esp + 0x3c], 0
and edi, ecx
shr edi, 0x12
bswap ebx
not ebx
sub ebx, ecx
and ebx, ecx
sub edi, 0x7cde9a81
add edx, 0x7cdee4eb
xchg edx, ebx
shl edi, 0x15
or edx, ecx
jmp 0x495e9c
add esi, dword [esp + 0x4c]
mov edi, 0x7cf13af5
inc edi
shl edx, 0x10
xor edi, ecx
and edi, edx
xchg edx, edi
jmp 0x4947ee
mov dword [esp + 0x4c], eax
and ebx, ecx
and edi, edx
inc edx
ror ebx, 0xe
xor ebx, edx
not edx
sub ebx, ecx
add edx, ecx
or edi, 0x7cf4c357
jmp 0x4961ee
mov esi, dword [esi]
shl edx, 0xc
xchg edi, edx
xor edi, ecx
sub ebx, ecx
not edx
and ebx, edx
and edx, edi
mov ecx, edi
add edx, ebx
or edi, ecx
mov edi, 0x7cfa88c7
add edi, ebx
xchg edi, ebx
sub edx, ecx
jmp 0x494fe7
mov esi, dword [esi]
xor edx, ebx
shl edx, 1
add edi, 0x7cfd94e6
add ecx, edi
inc ebx
ror ebx, 8
ror edi, 0x14
mov ebx, edi
shl ecx, 3
bswap edi
shl edi, 0xc
jmp 0x49559a
add esi, dword [esp + 0x5c]
bswap edx
mov edx, ebx
or edi, 0x7d0a45b7
jmp 0x4960a1
add esp, 0x9c
dec edi
bswap ebx
shr ebx, 0xa
xor ebx, 0x7d2091a1
and ebx, 0x7d20cf06
and edi, ecx
add edi, ebx
xor edx, edi
mov ecx, 0x7d21c5c9
xor ecx, 0x7d2202bb
jmp 0x495baa
mov esi, dword [esp + 0x48]
add ebx, edi
mov ebx, 0x7d319ed1
xor ebx, 0x7d31f53e
or edi, edx
mov ecx, edi
shr ebx, 0xe
or edx, 0x7d32f473
or edi, edx
add ecx, ebx
mov ecx, edi
ror ecx, 4
shl edi, 1
jmp 0x494a57
sub esp, 0x9c
xor ecx, edi
mov ecx, edx
and edi, 0x7d3bf304
or edx, 0x7d3c33d9
and edi, edx
or ebx, 0x7d3cacf9
inc ebx
xchg ecx, edx
mov edi, ebx
or ebx, edi
or ebx, edx
nop
jmp 0x49674d
rol eax, 8
and ecx, edi
rol ebx, 0xe
jmp 0x49664b
mov esi, dword [esp + 0x5c]
dec ecx
or ebx, ecx
or ebx, edx
or edx, 0x7d52cf07
xchg ebx, edi
neg ebx
ror edi, 0x13
xchg ebx, edx
jmp 0x49504c
mov esi, dword fs:[esi]
and edi, ebx
rol ebx, 4
mov edi, 0x7d717d35
xchg ebx, edx
inc ecx
add edx, ecx
shl ecx, 0xb
xor ecx, ebx
sub ecx, edx
and edi, edx
jmp 0x49533f
xor eax, eax
shr edx, 0xe
and edi, edx
and ecx, 0x7d7404a2
xor ecx, ebx
xor ecx, 0x7d74833b
neg edi
sub ebx, edx
jmp 0x4968fb
mov esi, dword [esi]
dec edx
rol edx, 6
xor edx, ebx
add edx, ecx
xchg edi, edx
and edx, ecx
and ebx, edx
or ecx, edi
jmp 0x495030
mov esi, dword [esp + 0x48]
xor edx, ebx
bswap edi
inc ecx
xor ecx, edx
and edi, ebx
jmp 0x494f5f
mov dword [esp + 0x3c], esi
mov ebx, 0x7d99b211
add ecx, edi
mov ecx, 0x7d9a2ecf
dec edx
mov ecx, 0x7d9aacdc
or edx, ebx
or ecx, edi
add edx, 0x7d9b71b3
xor edx, ebx
mov edx, ecx
jmp 0x495bbf
ret
mov eax, 2
sub edi, edx
or edx, ebx
or ecx, 0x7dae01c2
shr edx, 0x13
xor ebx, 0x7dae7e15
mov ecx, 0x7daebe58
mov ebx, edx
and edx, ebx
jmp 0x495d60
add dword [esp + 0x48], eax
inc ecx
mov ecx, 0x7dafc9e2
or ebx, edi
sub ebx, edi
xchg ecx, edx
ror ebx, 0x18
or ebx, 0x7db106ce
jmp 0x495af6
mov esi, dword [esp + 0x48]
and edx, edi
not ebx
and edx, ebx
xchg ebx, ecx
neg ebx
and ebx, edx
mov edx, edi
rol edi, 0x1c
bswap ebx
mov ecx, edx
xchg ebx, edx
jmp 0x49553e
add esi, 0x18
or ecx, edx
xor edx, ecx
sub edi, edx
and edx, ebx
xor edx, ebx
mov edi, 0x7dc7654e
and ebx, edi
jmp 0x496531
mov esi, dword [esp + 0x4c]
mov ebx, edi
ror ecx, 0x1f
and edx, 0x7de09b76
and edx, ecx
not edx
shl edi, 0x1f
xchg ecx, edi
jmp 0x495272
movzx esi, word [esi]
sub ebx, edi
ror ebx, 0x1b
ror edx, 0xb
add edx, edi
and ecx, edx
and ecx, edi
add edi, edx
sub ecx, edi
mov edx, ebx
xchg edx, ebx
xor ecx, 0x7ded4cbd
mov ebx, ecx
jmp 0x4963c8
cmp eax, dword [esp + 0x98]
jmp 0x4949ae
mov dword [esp + 0x5c], 0
sub edi, ebx
xor edi, ebx
not ecx
xchg ebx, edi
bswap edi
sub ebx, ecx
and edx, ebx
jmp 0x4950d2
mov dword [esp + 0x5c], esi
or edx, edi
add edx, 0x7e0ac23d
xor ecx, 0x7e0b0262
jmp 0x4958c9
mov esi, dword [esp + 0x3c]
not ebx
or ebx, edx
sub edi, ebx
shr edi, 7
mov ebx, edi
sub ecx, edx
jmp 0x495497
mov dword [esp + 0x3c], esi
bswap ebx
sub edx, ecx
bswap edi
xor edi, ebx
jmp 0x496314
mov esi, dword [esi]
xor ecx, ebx
not ecx
sub ecx, ebx
and edx, edi
add ebx, edx
add edx, ecx
add ecx, edi
mov edx, 0x7e4b7ec0
xor ebx, edi
shl edx, 0x1d
sub edi, ebx
sub edi, edx
and ecx, 0x7e4ddc9f
jmp 0x494926
sub dword [esp + 0x48], 8
or edi, edx
add edi, ebx
xchg ecx, edi
or ebx, edx
xor edx, ebx
bswap ecx
xor ebx, edi
neg edi
dec ebx
bswap ecx
bswap edx
jmp 0x495728
inc dword [esp + 0x4c]
not edx
or edi, ecx
xor ecx, ebx
neg ebx
add ecx, ebx
add edx, edi
shr ebx, 0x18
or edx, 0x7e8bc6f3
sub ecx, 0x7e8c5a05
or edx, ebx
dec ebx
neg edi
add edx, edi
jmp 0x495127
mul esi
xor ebx, ecx
xchg ebx, ecx
mov edx, ebx
add ecx, edi
or ebx, ecx
xchg ecx, ebx
xchg edx, ecx
jmp 0x495be5
mov esi, dword [esi]
shl ecx, 0xc
and edx, ebx
sub edi, edx
xchg edx, ecx
xor ecx, 0x7eb195eb
add ebx, ecx
and edi, 0x7eb2162f
sub edx, ecx
jmp 0x494f81
add esi, 0xc
sub ebx, edx
or ebx, edi
or edx, ecx
mov ecx, ebx
not edi
xor edi, ebx
jmp 0x496a96
mov esi, dword [esi]
xor edi, edx
bswap edi
add edi, ebx
xor edx, edi
and ecx, ebx
jmp 0x4964c7
mov esi, dword [esi]
shl ebx, 0xd
add edi, edx
shl edx, 1
sub edi, 0x7ef01921
xor edi, ecx
and ecx, ebx
xor ebx, edx
sub ecx, ebx
bswap ebx
add edi, ebx
jmp 0x495f16
inc esi
xchg ecx, edx
shl ebx, 0xc
bswap ecx
add ebx, edi
xor edx, edi
add ebx, 0x7f2f82be
sub ebx, edi
jmp 0x494779
mov esi, dword [esp + 0x5c]
xor ebx, edx
and ecx, ebx
xor edi, ecx
shl ecx, 0xa
xchg edx, ebx
shr edi, 0x11
shl edx, 5
mov ebx, edx
and ecx, ebx
and edi, ebx
xor ecx, edx
jmp 0x49531f
mov dword [esp + 0x4c], 0
or ebx, edi
xor edi, ebx
not ecx
and ebx, 0x7f58ae80
xor edi, edx
ror ecx, 0xc
dec ecx
shr ebx, 0x1a
xchg ebx, edx
shl ecx, 0xe
jmp 0x4953b7
xor al, byte [esi]
mov edi, edx
sub edx, ecx
or ebx, edi
and ebx, edx
add edx, ecx
mov ecx, edi
add edx, ebx
sub ebx, edx
xor edi, 0x7fa02f3e
sub edx, edi
jmp 0x495855
add dword [esp + 0x48], 0x20
and edx, 0x7fb1244b
bswap edx
and ebx, edi
xchg edi, edx
bswap ebx
sub edx, 0x7fb26de4
jmp 0x495c3a
add dword [esp + 0x48], 4
neg edx
add ecx, edx
neg edi
inc edi
shr ecx, 3
xor ecx, edx
add ebx, ecx
sub ebx, ecx
inc ebx
or edi, 0x7fd54627
mov ebx, edx
or ecx, edi
and edi, ebx
sub edi, 0x7fd6f8a1
jmp 0x494fad
mov esi, dword [esi]
add ebx, ecx
and ecx, edx
sub edi, ebx
xchg edi, ebx
or edi, ecx
inc ebx
sub edx, ebx
shr ebx, 0x11
jmp 0x495365