Function at 0x4a365e
Capabilities:
Encrypt data using chaskey

Disassembly:
add esi, dword [esp + 0x98]
xor ecx, edi
rol edx, 0x1a
sub edi, ebx
ror edx, 0xf
and edi, 0x1a5c0b95
or edi, edx
and ecx, ebx
sub ebx, 0x1a5dbbd8
and ecx, ebx
jmp 0x4a2645
add dword [esp + 0x98], 4
rol edi, 0x18
mov ecx, 0x1a65641c
or ecx, ebx
add ebx, edi
jmp 0x4a0d6b
mov esi, dword fs:[esi]
and edi, 0x1a7c8a39
sub ebx, ecx
or edx, edi
add ecx, ebx
sub edx, ecx
shr edi, 0x1b
add edi, ebx
add ebx, ecx
jmp 0x4a1cf0
cmp eax, dword [esp + 0x10]
jmp 0x4a29b0
rol eax, 8
shl ecx, 0xd
xor ebx, ecx
shr ebx, 0x17
sub ecx, 0x1ae7ccb6
inc ecx
xor edx, edi
mov ebx, edx
or edi, ebx
shr ecx, 0x16
jmp 0x4a333e
add esi, 0x18
rol ecx, 0x12
or edi, edx
sub edi, 0x1b02bbc4
and edx, 0x1b03339b
not edi
or edi, edx
jmp 0x4a12d7
mov esi, dword [esi]
shr edx, 0x12
and edi, 0x1b3d01a3
dec ebx
xchg edx, edi
xchg ecx, ebx
not ebx
xor edi, ebx
mov edx, edi
add ebx, 0x1b402650
jmp 0x4a2089
mul esi
and edx, ebx
mov edx, 0x1b53c3ef
add edx, edi
xor ebx, edx
add ebx, edi
xor ebx, ecx
jmp 0x4a2d9b
cmp byte [esi], 0
jmp 0x4a2fba
mov dword [esp + 0x3c], esi
sub ebx, edx
bswap edx
or edx, edi
xor edi, ebx
ror edi, 5
or edx, ebx
and ebx, edx
ror edi, 0xa
jmp 0x4a1c19
mov dword [esp + 0x98], 0
shr edi, 8
or ebx, ecx
shl ebx, 9
bswap ecx
sub ebx, ecx
inc edi
and ecx, 0x1b6b5502
xor ebx, edi
ror ebx, 0x13
sub edi, edx
sub edx, ecx
jmp 0x4a2ef3
add esi, dword [esp + 0x3c]
sub ecx, edi
rol edx, 0x17
mov ecx, 0x1b80cd52
add edi, 0x1b813e98
and ebx, 0x1b81ccff
and ebx, ecx
xchg edi, ecx
not edx
jmp 0x4a253e
mov esi, dword [esp + 0x98]
and ebx, edi
mov ecx, edx
neg ecx
or ecx, 0x1b89b4e2
mov ecx, edx
and ecx, 0x1b8ac74c
and ebx, 0x1b8b3797
xor edi, ecx
not ecx
sub ebx, 0x1b8c7bde
or ebx, edx
shr ebx, 0x1a
xchg ecx, ebx
jmp 0x4a1eee
inc dword [esp + 0x88]
or edx, 0x1bbb46f6
shr edi, 9
or ebx, edi
or ebx, 0x1bbc9d87
or ebx, edi
or edi, 0x1bbd93b0
xchg ecx, edx
and edi, ecx
add ecx, edi
xchg edi, ecx
or ecx, edx
inc ebx
shr edx, 7
jmp 0x4a2e06
xor al, byte [esi]
inc edx
add edi, 0x1bcbcf57
jmp 0x4a08f4
mov eax, 4
mov edx, edi
or edx, ebx
shr edi, 8
or ebx, edi
and ecx, edx
jmp 0x4a1259
add esi, 0xc
xor edx, 0x1bdfd230
add edi, 0x1be046c3
or edx, ebx
sub ebx, ecx
and edx, ecx
mov ebx, edx
or edi, ebx
sub ecx, 0x1be2fefa
xor edx, edi
shl ecx, 6
mov ecx, edi
rol ebx, 0x1d
sub edx, 0x1be53cd7
mov ebx, 0x1be5b15c
sub edx, ecx
jmp 0x4a213b
mov esi, dword [esp + 0x98]
xor ecx, 0x1c02b558
add edi, ecx
and ebx, 0x1c03948b
bswap edx
rol ecx, 0xe
xor ecx, edx
mov ebx, edx
or edx, edi
xchg ecx, ebx
mov edi, edx
mov ebx, edx
or ecx, edi
add edx, ecx
or edx, ebx
jmp 0x4a1401
mov dword [esp + 0x98], esi
shr ecx, 0x18
rol edi, 0x1a
add edx, edi
xor edx, edi
xchg edx, ecx
not edi
dec edx
ror edi, 0x10
nop
mov ebx, edi
xor ebx, ecx
and ebx, edx
jmp 0x4a2d26
movzx esi, word [esi]
mov edx, 0x1c3391e3
ror ebx, 0x10
xor edi, 0x1c3484f4
mov ecx, edi
or ebx, edx
jmp 0x4a1647
mov esi, dword [esi]
mov ecx, edx
sub ebx, edx
jmp 0x4a0c1c
mov dword [esp + 8], esi
nop
xor ecx, edx
xor edx, ecx
xor ebx, 0x1c45483d
or edi, edx
and edx, ebx
mov edx, 0x1c46a72b
and ebx, edx
neg edx
jmp 0x4a0ed7
sub dword [esp + 0x98], 8
sub ecx, edi
shl ecx, 0x14
mov ecx, edi
and edx, ebx
or edi, ecx
xor edx, edi
and ebx, edx
add ebx, edi
jmp 0x4a10fb
mov esi, dword [esi]
and edi, ebx
sub edx, ecx
xor edi, 0x1d571b5a
add ebx, edx
neg edi
jmp 0x4a1e4e
mov esi, dword [esi]
xchg edi, ecx
or ebx, ecx
xor edi, edx
neg ebx
xchg edi, ebx
sub edx, ebx
bswap ebx
nop
mov ecx, edx
xor edi, ebx
or edi, edx
jmp 0x4a0ff6
mov esi, dword [esi]
xor edx, ebx
mov ebx, edi
or edx, 0x1d77aca1
neg edx
inc ecx
mov edx, edi
xchg ebx, ecx
xor edx, edi
xor edx, ebx
xchg ecx, edx
rol edi, 0x1b
neg edx
or edi, 0x1d7a47bc
not edx
mov ecx, edx
jmp 0x4a22ca
mov eax, 2
add edi, edx
neg ebx
mov edi, 0x1d7bab55
or edi, 0x1d7c32ba
xchg ecx, edx
sub ecx, edx
add ebx, ecx
xor ebx, ecx
mov edi, ebx
xor ebx, edi
shr edx, 0x17
add ebx, 0x1d8021fe
jmp 0x4a30db
mov esi, 0x30
xor ebx, edx
add edi, ebx
jmp 0x4a079c
mul esi
add edi, ebx
or ecx, edi
shl edi, 7
or edi, 0x1d8bac44
inc ecx
xchg ecx, edx
add edx, edi
or ebx, ecx
jmp 0x4a1bff
add esi, dword [esp + 0x3c]
add ebx, ecx
xchg edi, edx
sub edx, 0x1da45475
xchg ecx, edx
xchg ecx, edi
and ebx, 0x1da5db49
jmp 0x4a12e2
mov esi, dword [esi]
and edx, ecx
xor ecx, 0x1dacafbf
sub edi, ebx
or edx, ebx
and edi, edx
jmp 0x4a16f7
add dword [esp + 0x98], 0x20
add ecx, edx
bswap ebx
shl edx, 3
xor ebx, edi
xchg edi, ecx
neg ebx
mov ecx, edi
or ebx, edx
sub edi, 0x1de1b591
xor edx, ecx
mov edi, ebx
or edx, ebx
jmp 0x4a1a2e
add dword [esp + 0x98], 0x78
or edx, ecx
rol edi, 0xd
xchg edx, ecx
xor ebx, edx
rol ebx, 0x1d
shl ebx, 0xe
mov ecx, 0x1e1d58ca
jmp 0x4a2e8b
mov esi, dword [esp + 0x98]
xchg edi, edx
inc edx
and ecx, 0x1e1ef42c
sub ecx, 0x1e1f9925
xchg ecx, ebx
shr ecx, 0xc
xor ecx, ebx
xchg edi, edx
xchg ecx, ebx
or edi, 0x1e229751
jmp 0x4a173b
add esi, dword [esp + 0x88]
and ebx, ecx
mov ecx, edx
add edx, 0x1e2f84db
sub ecx, edx
xor edx, ecx
ror edi, 0x1c
xor edi, 0x1e317689
or edi, edx
jmp 0x4a0fc9
add dword [esp + 0x98], eax
sub edx, ebx
sub ebx, ecx
and edx, 0x1e5dd01b
and ecx, edx
or ebx, edi
jmp 0x4a2d16
mov esi, dword [esp + 0x3c]
xchg edx, ebx
xchg edi, ebx
add edi, ecx
mov ebx, ecx
sub ebx, 0x1e6120e5
sub ecx, ebx
xchg edi, ebx
and ebx, edx
jmp 0x4a1f58
add esi, 0xc
xor edx, ecx
or edx, 0x1e7e0910
mov edi, ebx
sub ecx, 0x1e7efeb3
and ecx, 0x1e7f6ce7
rol edx, 9
mov ebx, edx
jmp 0x4a1431
add esi, dword [esp + 0x3c]
sub edi, edx
add edi, ebx
mov ecx, edx
xchg edx, ecx
xchg edi, ecx
sub ecx, edx
bswap ebx
or ebx, 0x1eae947b
or ecx, 0x1eaf1510
nop
and ebx, ecx
or ecx, edi
mov ebx, ecx
mov ecx, edi
jmp 0x4a2f4c
mov esi, dword [esi]
add edx, edi
sub edi, ecx
and edi, edx
mov edx, ecx
sub ecx, ebx
and ecx, 0x1ec3df48
bswap edi
or ecx, 0x1ec4f531
jmp 0x4a2f72
ret
add esi, 0x3c
and edi, 0x1ed14cf8
or ecx, ebx
xchg ecx, edx
add ecx, 0x1ed2d6cd
or ecx, 0x1ed34e13
inc edx
xor edi, 0x1ed43cd3
and edx, 0x1ed4af62
or edi, ebx
not edx
add edi, ebx
shl edi, 0x10
jmp 0x4a1590
xor eax, eax
shr ebx, 0x1b
and edi, ebx
and ebx, edi
add ecx, edx
ror ecx, 8
xor edx, ebx
or ecx, edi
jmp 0x4a0f50
mov esi, dword [esi]
add ebx, ecx
or ecx, 0x1f1c33f8
add ecx, edi
shl ebx, 0xe
xor ebx, 0x1f1dadf4
and edi, ecx
and ecx, 0x1f1ea81a
jmp 0x4a09a9
mov esi, dword [esi]
sub ebx, ecx
inc edx
and ebx, ecx
sub ecx, edx
not edx
jmp 0x4a0b40
mov esi, dword [esp + 8]
and ebx, edi
xor edx, 0x1f35fdf4
add edx, ecx
mov edi, edx
add ebx, 0x1f3790c8
xor ecx, edi
mov ebx, edx
xchg edx, ebx
shr ebx, 5
jmp 0x4a2c6e
push esi
mov ebx, edx
add edi, edx
rol ebx, 1
and edi, ecx
or edi, edx
jmp 0x4a1fae
mov dword [esp + 0x98], esi
mov ecx, ebx
or edx, ebx
dec edi
xor edx, ebx
sub edi, 0x1f696440
xor ebx, ecx
bswap edi
mov edx, 0x1f6add8e
jmp 0x4a1a0d
mov dword [esp + 0x3c], 0
dec edx
xchg ecx, edi
and ecx, edx
rol ecx, 6
mov ebx, edx
xor edi, edx
add ebx, ecx
xor edx, 0x1faee9ca
mov ebx, edx
add edi, edx
bswap edx
jmp 0x4a0c86
add esp, 0x100
and edx, 0x1fc1ce2b
inc ebx
or edx, 0x1fc2ccdb
xor edx, 0x1fc36f45
xchg ecx, edx
or edx, edi
not ecx
xor edx, ebx
bswap ecx
or ebx, 0x1fc6b475
add ebx, edi
add edi, ecx
jmp 0x4a1f47
add dword [esp + 0x98], esi
mov edx, edi
mov edx, 0x1fdfc8c0
dec edi
xor edi, ecx
not ecx
sub ebx, edx
shr ebx, 0x18
sub ecx, 0x1fe28137
rol ecx, 5
dec edx
add edx, edi
jmp 0x4a18a4
mov esi, dword [esi]
shr ebx, 0x1c
and ebx, edi
shl edx, 0x17
sub ebx, 0x1fe5dd89
and ecx, edi
not ebx
shl ebx, 0x10
dec edx
mov edi, 0x1fe8ad9a
jmp 0x4a112c
pop esi
and edi, ecx
mov ebx, ecx
xor ecx, edi
mov ecx, ebx
or ecx, edi
bswap ecx
or ebx, 0x1ffed5df
not ebx
mov edi, ecx
not edx
bswap edi
jmp 0x4a07b9
mov esi, dword [esi]
rol edx, 3
mov edx, edi
dec ebx
xor edi, ecx
and edi, ecx
not edx
or ebx, edx
neg ebx
jmp 0x4a0d21
jne 0x4a0ed7
add edi, ebx
and ecx, edi
neg edi
mov edx, ebx
mov ebx, edi
add edx, 0x2063b1d7
xor edx, ecx
sub edx, ecx
xchg edi, ecx
add edx, ebx
jmp 0x4a06db
add esi, dword [esp + 0x3c]
xor edx, edi
not edx
mov ecx, 0x20993739
xchg edi, ebx
bswap edx
or ecx, edi
mov edx, ebx
dec edi
dec ecx
jmp 0x4a21cc
mov esi, dword [esi]
add ebx, ecx
rol edi, 0xc
add edi, ecx
not ebx
shr ebx, 8
sub ebx, edx
add ebx, ecx
and ebx, edi
jmp 0x4a2b34
mov esi, dword [esp + 0x98]
ror ecx, 9
inc edi
jmp 0x4a27b7
mov esi, dword [esp + 0x3c]
and ebx, edi
add edi, edx
ror edi, 0x1c
xchg ecx, edi
xor edx, edi
ror ebx, 8
xor edx, edi
and ebx, 0x20e4c9f4
shl edi, 3
xchg ecx, ebx
or ecx, 0x20e624af
sub ebx, ecx
jmp 0x4a261c
mov dword [esp + 0x88], eax
add ecx, 0x20f12c4b
xor edx, ebx
or edi, ecx
xchg edx, ebx
add edx, ebx
xor ebx, edi
xor ecx, edx
ror edi, 8
neg edi
jmp 0x4a1306
add dword [esp + 8], 4
xor ebx, ecx
sub ecx, edi
or edi, edx
jmp 0x4a214b
mov esi, dword [esp + 0x3c]
bswap ecx
shr edx, 0x1b
and edx, edi
shr edx, 0xf
and ebx, 0x212f89cc
shr ebx, 0x1a
dec ecx
xchg edi, edx
xchg edi, ecx
jmp 0x4a0691
mov dword [esp + 0x10], esi
and ecx, ebx
sub edx, ebx
or edx, ecx
or edx, ebx
xchg edx, edi
and edx, 0x21417146
jmp 0x4a1639
mov dword [esp + 0x98], esi
inc ebx
mov edx, edi
jmp 0x4a37bb
add esi, dword [esp + 0x3c]
inc edi
ror edi, 6
dec ebx
or ecx, ebx
sub ebx, edx
xor edx, 0x21533060
not edx
or edi, ecx
not edx
not edi
jmp 0x4a3140
jne 0x4a0f50
shl edx, 0xc
and ebx, edi
xor edi, edx
xor edi, ecx
shr edi, 0x1a
sub ecx, edx
mov edx, ecx
or edi, ebx
mov edx, edi
and ecx, edx
xor edi, edx
add ecx, ebx
jmp 0x4a26f4
mov esi, dword [esp + 0x88]
xor edx, ebx
sub ebx, edi
xor ecx, edi
mov edx, ecx
inc edi
rol edi, 1
shr edx, 0xa
xchg ebx, edi
jmp 0x4a0be9
mov dword [esp + 8], esi
xchg edx, ebx
and ebx, edx
mov ecx, edi
xor ebx, 0x2192a358
jmp 0x4a15bd
inc esi
rol ecx, 0xd
or ebx, ecx
or ecx, 0x21d66174
neg edi
or ecx, 0x21d73c40
shr edx, 2
xchg edx, ecx
xor ebx, ecx
add ecx, edx
or ebx, edi
add ebx, edi
shl ecx, 1
sub ebx, 0x21dafc2a
jmp 0x4a0c14
sub esp, 0x100
inc ecx
sub ecx, 0x223f8cf6
or ecx, ebx
sub edi, 0x224066ee
neg edx
mov ebx, edx
mov edx, ebx
add edi, ecx
add edi, 0x2242a7b5
xor edx, ecx
jmp 0x4a37f6
mov esi, dword [esp + 8]
and edx, ecx
xor ebx, edx
xchg ebx, edx
add ebx, edx
dec edx
add edx, edi
xchg ecx, edx
mov ecx, 0x2274b877
and edx, ecx
jmp 0x4a1ab5
mov dword [esp + 8], 0
rol ebx, 0x1a
shl ebx, 0x12
sub edi, edx
ror ebx, 0x15
jmp 0x4a249b
mov dword [esp + 0x88], 0
xor edx, 0x2277eb8e
mov edi, 0x2278586b
rol ebx, 0x13
sub edx, edi
sub edi, edx
xchg ebx, edx
sub edi, ebx
or ecx, 0x227b4146
not ecx
mov edi, ecx
or edx, 0x227c811d
jmp 0x4a37db