Function at 0x536224
Capabilities:
Encrypt data using chaskey

Disassembly:
sub esp, 0x140
add ebx, edi
sub edi, ecx
and ebx, edi
shr ecx, 0xe
not edi
mov ecx, edi
shl ecx, 0x15
and edi, edx
jmp 0x53755c
mov esi, dword [esi]
xchg ecx, edi
xor edx, ebx
ror edi, 0xc
xor ebx, 0xf4f211f2
jmp 0x53971b
mov esi, dword [esp + 0xc]
shl ebx, 0xb
not edx
bswap edx
add edx, ebx
or edx, 0xf5258abe
not ecx
or ebx, edx
sub ebx, edi
jmp 0x537de5
pop esi
rol edi, 0xd
xor edi, ebx
not edx
or edi, edx
jmp 0x538d71
add esi, dword [esp + 0x68]
shl edi, 0xc
shl ebx, 0x14
sub ecx, 0xf5369f34
and edx, 0xf536ef22
ror edx, 0x10
rol ebx, 8
or edx, ecx
add edx, ecx
xor ecx, edi
or edi, ecx
jmp 0x5399dc
jne 0x537cdb
xor edi, edx
sub edx, edi
mov edx, ebx
ror edi, 1
or ecx, edx
not ebx
or ebx, edx
xchg edx, ebx
add edi, ecx
shr edi, 5
or edi, ecx
or edx, 0xf5636688
xor ebx, edi
add ecx, 0xf563d99e
jmp 0x537484
mov eax, 4
and edi, ebx
inc edi
mov ebx, ecx
not ebx
xchg ebx, ecx
ror edi, 0xe
jmp 0x5384b4
mov esi, dword [esi]
and edx, edi
and edx, edi
and ebx, 0xf56b9348
inc edi
sub edi, ebx
add edx, edi
jmp 0x538a0a
mov esi, dword [esi]
xor edx, ecx
xor edx, 0xf56ece1a
xchg edx, edi
mov ebx, edi
sub edx, 0xf56f7bcc
mov edi, ebx
mov edx, ecx
add ecx, ebx
jmp 0x536e9b
mov esi, dword [esp + 0x68]
or edx, ebx
or ebx, edx
inc ebx
not ecx
xchg edx, ecx
xchg ecx, edi
mov edi, edx
sub ebx, ecx
sub ebx, 0xf59fe576
nop
nop
ror ebx, 8
jmp 0x53627c
add esi, dword [esp + 0x74]
xchg edx, ebx
mov edx, edi
mov edx, ebx
add edi, 0xf5b5c6b8
mov ecx, 0xf5b60582
or ebx, 0xf5b645e0
sub ecx, edx
mov edi, 0xf5b6d344
jmp 0x537ab8
inc esi
or edi, ecx
add edx, ebx
nop
and ebx, ecx
sub edi, ecx
shl ecx, 0xc
jmp 0x53923c
mul esi
shr ebx, 0x17
ror edi, 0x14
add ebx, 0xf5c15636
shr ebx, 0x14
xchg ecx, edx
or ebx, edx
xchg edi, ecx
mov ecx, edi
mov ebx, edx
xchg edi, edx
add ebx, ecx
and edi, ebx
not edi
sub edi, 0xf5c41198
jmp 0x537c75
mov dword [esp + 0xc], esi
shr ecx, 8
or edi, ecx
mov edx, ecx
sub ecx, edx
xor edx, ebx
and ebx, ecx
dec ecx
or edx, ecx
sub ebx, 0xf5c90932
dec ebx
jmp 0x537cdb
mov esi, dword [esi]
bswap ecx
sub ecx, ebx
xor edi, 0xf5d31df6
bswap edx
xchg edx, ecx
xor edi, edx
add ebx, edi
and ebx, edx
jmp 0x53915c
add dword [esp + 0x68], eax
sub edx, 0xf5e41054
dec edx
or edx, 0xf5e48796
neg edx
xor edi, 0xf5e50fda
shr edi, 0x1e
sub ecx, 0xf5e5871a
and ecx, 0xf5e5c34a
jmp 0x5375d9
add esi, 0x3c
and ecx, edx
and edx, ebx
xor ebx, edi
sub edx, edi
mov edi, edx
ror edx, 0x10
bswap edi
not ecx
nop
mov edi, 0xf5f08adc
jmp 0x5387a0
mov dword [esp + 0xc], 0
or edi, ecx
neg edx
sub edi, 0xf6186ede
neg ebx
and edi, ecx
mov ebx, edi
xchg edx, ecx
sub ebx, edx
and edx, ebx
mov edx, 0xf61a1538
jmp 0x537d42
sub dword [esp + 0x68], 8
and edx, 0xf61f1eb8
and ebx, edi
jmp 0x538dc8
add dword [esp + 0x68], 4
xor edi, ecx
rol ecx, 8
mov edi, edx
or ebx, ecx
shl ecx, 9
add edi, ecx
and edi, edx
xchg edx, ebx
xor edx, 0xf635fdf0
shr edx, 0x13
jmp 0x538b41
add dword [esp + 0xc], 4
or edi, ecx
or ecx, 0xf636d1f0
sub edx, ebx
add ebx, edx
jmp 0x536533
push esi
dec ebx
shr ecx, 7
shl ecx, 0xd
not ebx
jmp 0x539441
mov dword [esp + 0x88], 0
mov ebx, edi
sub edx, edi
neg ebx
and ecx, edx
and edx, 0xf642ffb8
or ebx, edx
xor edi, edx
xor ebx, ecx
add edi, ecx
xchg ebx, ecx
jmp 0x5372c7
mov esi, dword [esp + 0x68]
xor edx, ecx
sub ebx, 0xf64a9b4c
xchg edx, ebx
xor edx, 0xf64b11fa
jmp 0x5395ef
mov esi, dword [esp + 0xc]
xchg ebx, edi
xchg ebx, ecx
jmp 0x538df2
mov esi, dword [esi]
add edx, ebx
shl ebx, 0x17
sub edx, edi
mov ecx, edi
xchg ecx, edx
sub edi, ebx
jmp 0x5392d6
mul esi
mov ecx, 0xf66a4ff2
add edx, edi
and ecx, edx
or edx, ecx
and edx, 0xf66b3516
add ecx, 0xf66b801a
mov edx, 0xf66bbbce
not edi
shr edx, 9
sub edx, 0xf66c6faa
jmp 0x536fa5
jne 0x5386d7
xchg ebx, edx
rol edx, 7
shr edx, 2
xor edx, ebx
mov ebx, edi
mov ebx, ecx
jmp 0x5365db
ret
mov esi, dword [esp + 0x74]
mov ebx, edi
sub edi, ecx
and edx, 0xf67f90f0
mov ebx, ecx
xchg ebx, edx
neg edx
xor edi, ecx
or ecx, edi
mov ecx, edi
or edi, ebx
jmp 0x53661e
mov dword [esp + 0x108], esi
add edi, ebx
and ebx, edi
mov edx, ecx
bswap edx
jmp 0x538da0
mov dword [esp + 0x68], esi
add edi, ecx
rol ebx, 0x1e
xor edx, ebx
add ebx, 0xf68c8a56
shl ecx, 0x1f
sub edx, ebx
jmp 0x5379d4
add dword [esp + 0x68], 0x78
and ecx, 0xf68ed398
add ecx, edx
jmp 0x5378c2
mov esi, dword [esp + 0x74]
sub edx, edi
xchg ecx, ebx
or edx, ecx
mov edi, 0xf69221de
or ecx, ebx
inc ebx
jmp 0x53704e
add esp, 0x140
inc edx
sub ecx, edx
xor edx, 0xf69b87da
or ecx, edi
not edx
sub ebx, 0xf69c478e
jmp 0x537892
mov dword [esp + 0xc], esi
or edx, 0xf69c9812
nop
sub ecx, ebx
sub edi, ecx
dec ebx
xchg edi, ebx
jmp 0x537fd2
mov dword [esp + 0x88], eax
or ebx, edi
and ebx, edx
xor edi, 0xd3cd7fb
or ecx, ebx
rol edx, 0x1d
shl ecx, 0xc
ror ebx, 0x17
or ebx, edx
jmp 0x537345
inc dword [esp + 0x88]
sub edx, edi
mov ebx, edi
add edi, ecx
or ebx, 0xd43841b
dec edx
mov edx, ecx
xchg ecx, edi
mov edx, ebx
inc edi
sub ecx, edx
jmp 0x5374ac
mov dword [esp + 0x74], 0
not edi
shl ecx, 4
mov ecx, edi
xchg ebx, ecx
sub ecx, edi
sub edx, ecx
or edi, ecx
inc ebx
xchg edi, ecx
and edi, ebx
mov ebx, 0xd4cba09
mov ebx, ecx
jmp 0x538900
add dword [esp + 0x68], esi
mov ebx, edi
sub ecx, edx
add edi, edx
xchg edx, ebx
xor edi, 0xd518211
rol ebx, 0x1d
sub edi, 0xd520231
mov edi, edx
xchg edi, edx
add edx, edi
jmp 0x538658
mov esi, dword [esi]
not edx
inc ebx
or edx, 0xd56b195
or edx, 0xd56f11f
mov edi, 0xd57412d
dec ecx
sub edx, edi
inc ecx
inc ebx
xor edi, edx
jmp 0x539b6e
add esi, dword [esp + 0x74]
mov edi, 0xd7be4d7
mov edi, ecx
sub edx, 0xd7c6099
xchg edx, ecx
sub edx, 0xd7cdf6f
sub edi, ecx
or ebx, ecx
sub edi, edx
dec edx
xchg edx, edi
or edi, edx
ror ecx, 4
jmp 0x539a50
mov eax, 2
xor ecx, 0xd7efa0b
xor ebx, edx
mov edx, ecx
and edi, ebx
shr edx, 0xc
xchg ebx, ecx
add edi, ecx
or edx, 0xd80ac77
sub ecx, 0xd80fc49
and edi, ebx
add edx, ecx
not ecx
or ebx, edi
sub edi, ebx
jmp 0x539c54
mov esi, dword [esp + 0x74]
mov ecx, ebx
add edx, ecx
neg ecx
mov ebx, 0xdbb46c5
sub ecx, edi
mov edi, 0xdbbc3b5
xchg edi, ebx
or ebx, edi
or ecx, 0xdbc8f8d
mov edi, 0xdbccf35
and ebx, edi
add ebx, ecx
jmp 0x537d95
movzx esi, word [esi]
and ecx, 0xddbd407
and edi, ebx
shl edx, 0x12
rol ecx, 0x11
xchg edi, ecx
and edi, 0xddd20d5
and edi, edx
not ebx
mov edi, ecx
add edx, 0xdde6de7
jmp 0x537796
add dword [esp + 0x68], 0x20
xor ebx, edi
and ebx, 0xdf78847
xor ecx, 0xdf7c47f
or edi, 0xdf7ff93
xor edx, ebx
and ebx, ecx
or ecx, 0xdf8be1d
shr edx, 0x16
shr ebx, 1
neg edi
xor ebx, 0xdf9aeb3
xchg ebx, edi
jmp 0x536bb7
xor al, byte [esi]
xchg ecx, edi
or ebx, edx
neg ebx
or ebx, edi
and ebx, edi
add ebx, edx
add ebx, edi
not ecx
rol edx, 0x1a
or edx, 0xe00dc4f
sub edi, 0xe011793
or edx, 0xe01532d
jmp 0x539c6c
mov esi, dword [esi]
add edi, ebx
and edx, ebx
rol edi, 3
mov edi, 0xe0e5557
mov edi, edx
mov edx, ecx
jmp 0x53799c
add esi, dword [esp + 0x74]
or edi, edx
xor ecx, 0xe1db33b
xor ebx, ecx
bswap ebx
mov edi, 0xe1e6545
nop
and ecx, edi
add edx, ebx
sub ebx, ecx
dec edi
shr ebx, 7
not ebx
or ebx, ecx
xchg edi, edx
xor ecx, edi
or ecx, edi
jmp 0x537a9a
mov dword [esp + 0x68], 0
dec ecx
ror ebx, 0x11
dec edx
xor edx, 0xe282db7
sub edx, edi
shl ecx, 0xa
or ebx, edi
xor edi, ecx
xchg ebx, ecx
ror edx, 5
sub edx, 0xe29d841
shl ecx, 0x17
add edx, 0xe2a4f69
mov ecx, edx
jmp 0x53793d
mov dword [esp + 0x74], esi
inc edx
xor ecx, 0xe3aa341
bswap ebx
add ecx, edi
sub ecx, edi
sub edx, ecx
dec edi
xchg ecx, ebx
shr ecx, 0x1c
add edx, ecx
and edx, ecx
mov ecx, edx
jmp 0x537a03
mov esi, dword [esp + 0x68]
xor edi, ecx
mov ebx, edx
rol edi, 1
and ebx, edi
xor ebx, 0xe5317e7
add ebx, 0xe5356a9
add ecx, ebx
mov edx, 0xe53d235
or ebx, edx
mov edx, ecx
mov ebx, edx
xor ecx, ebx
jmp 0x53921a
add esi, 0xc
and ebx, edi
shl edx, 5
add ecx, edx
sub edi, 0xe57f553
and ecx, ebx
shr ecx, 7
xor ecx, edx
sub ecx, ebx
jmp 0x53771d
mov esi, dword fs:[esi]
mov ecx, edx
and ebx, ecx
xchg edi, edx
mov ecx, edx
and edi, ebx
mov edx, ecx
inc ebx
and ecx, 0xe639245
add ebx, ecx
rol edi, 0x1f
ror ebx, 0x14
or edx, ecx
jmp 0x538b8b
cmp eax, dword [esp + 0x108]
jmp 0x536881
mov esi, 0x30
and edi, ebx
rol edx, 0x13
add ecx, ebx
xor edi, ecx
inc ebx
add ecx, 0xe7ffc13
add edx, ebx
mov ecx, 0xe8077ef
or edx, ecx
inc ecx
xchg ecx, edi
add edx, ebx
jmp 0x538bff
mov esi, dword [esp + 0x68]
xor ecx, edi
or edx, 0xe82167f
shl ebx, 0xb
mov edx, edi
mov ebx, edi
mov edx, edi
shr ecx, 0x17
add ecx, edi
or ecx, edx
add ecx, 0xe84127f
jmp 0x539179
add esi, dword [esp + 0x88]
xchg ebx, edx
xor edx, 0xe84a863
ror edx, 0xa
mov ecx, ebx
jmp 0x5368fe
add esi, 0x18
xor ecx, ebx
and ecx, 0xec0b3a3
bswap edi
rol ebx, 5
sub ebx, edx
sub ebx, 0xec1b0b3
jmp 0x536914
mov esi, dword [esi]
dec ebx
sub edx, edi
ror edi, 0x1f
rol ecx, 0xb
add ebx, ecx
and ebx, edx
not edx
dec ebx
xor edi, edx
and edi, 0xec4f973
jmp 0x537fa3
mov esi, dword [esi]
and ecx, ebx
or ecx, ebx
or edx, ebx
mov ecx, 0xecedefd
mov edx, ebx
add edx, edi
sub edx, 0xecf96af
and edx, 0xecfd62b
jmp 0x536cf4
cmp byte [esi], 0
jmp 0x5377da
add esi, 0xc
inc edi
not edi
mov edi, ecx
xchg edx, ebx
mov ebx, edi
mov edi, ecx
add edx, edi
and ecx, edx
xor edx, ebx
sub ecx, ebx
jmp 0x539709
xor eax, eax
mov ebx, edx
xor edi, edx
add edx, ebx
nop
sub edx, ebx
xor ebx, ecx
mov ebx, ecx
sub ecx, edx
jmp 0x5386d7
mov esi, dword [esi]
sub ebx, edi
inc edx
inc ebx
add edi, edx
add edx, edi
xchg edi, ecx
add ebx, edi
rol ecx, 0xb
jmp 0x53887e
mov esi, dword [esi]
dec edi
and edi, edx
neg edi
mov ecx, ebx
xor ecx, edi
and ecx, edi
jmp 0x536941
add esi, dword [esp + 0x74]
or ebx, 0xf29f0c7
inc edi
xor edx, ecx
xor ecx, edx
xor ebx, edi
sub ebx, 0xf2b16f3
mov edi, 0xf2b51cb
mov ebx, ecx
inc edx
and ebx, edi
jmp 0x536dfc
mov dword [esp + 0x68], esi
not edi
xor edi, 0xf568f05
sub ecx, edi
inc ebx
or ecx, edi
xchg ebx, edx
add edx, 0xf57d971
add edi, edx
mov edi, edx
sub ebx, edi
jmp 0x5382fa
mov esi, dword [esi]
mov edi, 0xf5c2f29
shl ecx, 0x13
bswap edx
xor edx, 0xf5cefed
or ecx, edx
sub ecx, 0xf5d6c09
and edx, ecx
sub ebx, edx
sub edi, edx
neg edx
xor ebx, 0xf5eb51d
xor ecx, edx
and ecx, edi
mov ecx, edi
jmp 0x539988
mov dword [esp + 0x68], esi
sub ecx, 0xf650061
inc ecx
or edx, 0xf658001
xchg ecx, ebx
dec ebx
neg ebx
bswap ebx
shr edx, 0x17
sub ecx, 0xf671085
add edi, 0xf67502f
dec edi
and edi, ecx
jmp 0x537651
add esi, dword [esp + 0x74]
and edi, ebx
xor edx, edi
sub ecx, edi
sub ebx, edx
xor edi, ebx
sub ebx, ecx
shr edx, 0x1f
and edi, ebx
shr ebx, 0xc
mov ecx, edx
bswap ecx
xor ecx, 0xf7c3de7
neg ebx
shl edx, 8
dec ecx
or edx, 0xf7d3da7
jmp 0x537525
mov esi, dword [esp + 0x88]
sub edi, ecx
rol edi, 0x18
and edx, ecx
neg ebx
inc edx
xchg ebx, edi
jmp 0x536da5
rol eax, 8
sub ecx, 0xf8e1cb5
not edx
sub ecx, edx
or edi, ebx
xchg edi, ebx
xchg edx, ebx
shl ebx, 0xb
xor edx, 0xf8fb973
shl edx, 0x11
bswap ebx
mov edx, ebx
sub ecx, edx
jmp 0x536d93