Function at 0x59240d
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esi]
neg edx
sub edx, 0x9dbc336b
xor ecx, edx
xor edx, 0x9dbcb259
and ecx, edx
or ecx, edi
bswap edx
dec ecx
jmp 0x59501e
add esi, dword [esp + 0x54]
inc ebx
and ecx, ebx
xchg ebx, edi
inc ecx
sub edx, ebx
add edx, ebx
mov ebx, ecx
add edi, ebx
add ecx, ebx
not ebx
jmp 0x593f04
mov dword [esp + 0x130], esi
and edi, ecx
xchg ebx, edi
sub edi, ebx
and ebx, edi
and edi, ebx
or edx, ebx
xor edi, ebx
mov edx, ecx
or edi, edx
and edi, edx
or edi, ecx
mov ebx, ecx
xor ebx, 0x9dcd3ba7
sub ebx, 0x9dcd7bf1
and edx, edi
add ebx, edx
jmp 0x5927cf
mov dword [esp + 0x18], eax
mov ebx, 0x9dd0e96f
xor ecx, ebx
ror ebx, 0x1e
xchg ecx, edx
xor ecx, ebx
inc edi
sub ecx, edx
sub edx, ebx
xor ebx, ecx
or edi, edx
neg edx
nop
jmp 0x5934aa
add esi, 0xc
not edi
xchg edi, ebx
xor ecx, 0x9de65233
ror ecx, 0x16
jmp 0x592545
mov esi, dword [esi]
dec ebx
or ecx, 0x9de72a37
and edi, ebx
xchg ecx, ebx
sub ebx, ecx
add ebx, edi
or ecx, 0x9de874db
or ecx, 0x9de8b43f
mov edi, ebx
mov edx, 0x9de93137
jmp 0x592180
rol eax, 8
sub edx, edi
xor edi, ecx
sub ecx, edx
sub edx, ebx
xchg edi, edx
shr ebx, 0x19
and ecx, edi
shr edi, 9
jmp 0x593b54
sub esp, 0x134
not edx
or ecx, 0x9ded8ddb
inc ebx
sub edi, ebx
add edx, ebx
mov edi, ecx
xchg edx, edi
xor ecx, edi
xor edx, edi
and ecx, 0x9def959d
add edx, 0x9defd589
add ecx, 0x9df01595
or ebx, 0x9df055cd
dec ecx
jmp 0x592e66
mov esi, dword [esp + 0x11c]
or edi, edx
not ebx
xor edi, 0x9df40d55
and ecx, 0x9df44d5f
shr ebx, 0x13
or edx, 0x9df51619
add edi, ecx
inc edi
xchg edi, ebx
mov ebx, edx
add edx, ebx
xchg ecx, ebx
or edx, ecx
inc ebx
jmp 0x594bb1
mov esi, dword [esi]
xor edx, ecx
sub ebx, edx
or edi, edx
add edi, 0x9e044357
and ecx, edi
neg ecx
and edi, ecx
sub edx, edi
mov ecx, ebx
add ecx, ebx
shr edx, 0x1f
and ebx, edx
or edi, 0x9e07d15b
xchg ebx, ecx
jmp 0x5923b3
mov dword [esp + 0x11c], esi
inc edx
add ecx, edi
shl ebx, 0xa
xchg edx, ecx
and ebx, ecx
and edx, ebx
inc edx
nop
jmp 0x593d59
mov esi, dword [esp + 0x18]
rol ecx, 1
and ecx, edx
sub edx, ebx
sub ecx, 0x9e1499f9
and ecx, edi
neg ebx
xor ecx, 0x9e155637
and ecx, 0x9e159657
jmp 0x593922
mov dword [esp + 0x54], esi
mov edi, edx
and edx, edi
add ebx, edx
xor edi, ecx
or ecx, 0x9e1d0d7d
dec edx
and ecx, edx
sub edx, ebx
neg ebx
and ecx, 0x9e1e5c9d
jmp 0x5953cc
inc dword [esp + 0x18]
xor ebx, edx
sub edi, ecx
or edi, ebx
dec edx
add edi, 0x9e36df47
shl edx, 0xd
jmp 0x59356c
mov esi, dword [esp + 0x54]
xor ecx, 0x9e3cbc95
xor ecx, edi
sub edi, ebx
sub ecx, edx
rol ebx, 5
sub ebx, 0x9e3e091d
jmp 0x5929b3
add dword [esp + 0x11c], esi
sub edx, 0x9e54905f
xchg edi, edx
or ebx, ecx
xor edx, ecx
and ebx, ecx
sub ebx, edi
xchg ecx, ebx
ror ebx, 0x14
bswap edx
bswap ecx
jmp 0x593ab1
add esi, dword [esp + 0x11c]
mov ecx, 0x9e5b085b
mov edx, edi
neg edx
and ecx, 0x9e5bc603
shr ebx, 0x1f
or edx, 0x9e5c4795
bswap ecx
inc ebx
or edx, ecx
mov edi, edx
and ebx, edx
xor edi, ebx
or edx, 0x9e5e115f
neg ecx
ror ebx, 6
sub edi, edx
jmp 0x592c6e
add esi, dword [esp + 0x54]
mov ecx, edi
rol ecx, 0xb
mov ebx, 0x9e707f9b
and ecx, ebx
and edi, ebx
and ecx, 0x9e715819
xor edi, edx
and ecx, ebx
xchg edi, ebx
shl edi, 0x1c
and ebx, ecx
or edi, 0x9e732197
jmp 0x5945c6
mov esi, dword [esi]
add ecx, edi
sub edx, 0x9e92ae83
add edi, ecx
mov ebx, ecx
xor ecx, edx
xchg ecx, edx
jmp 0x592d97
mov esi, dword [esi]
inc ebx
mov edx, 0x9e9a3e9d
dec ecx
or ebx, edx
rol ecx, 5
xchg ebx, ecx
dec edi
and ebx, ecx
add edx, edi
mov ecx, edi
sub ecx, edx
mov ebx, edx
jmp 0x59546d
mov dword [esp + 0x11c], esi
and ecx, 0x9eaaeed1
ror ebx, 0x11
add edi, edx
and edi, edx
sub ecx, edx
add edi, ecx
or ecx, edx
sub edx, ecx
shl ecx, 0x1c
sub edx, ecx
xchg edi, ecx
xor ebx, edx
mov ebx, ecx
neg edx
sub edi, 0x9eae6dd9
neg ebx
jmp 0x594d84
mov dword [esp + 0x18], 0
or ebx, edi
sub edi, 0x9eb95be7
add ecx, ebx
mov edx, 0x9eb9e9ab
xor edx, ecx
or ebx, 0x9eba68d7
mov ecx, edx
sub edi, edx
mov ebx, ecx
xor ecx, edx
jmp 0x593523
jne 0x593a1a
add ebx, ecx
xor ecx, edi
mov ecx, edx
mov ebx, edx
not ecx
add ebx, edi
xor ebx, ecx
sub ebx, ecx
mov ebx, edx
add edx, edi
add ebx, edi
or edi, 0x9ebe6cd1
or ebx, 0x9ebeacf7
shl edi, 0xe
jmp 0x593b31
mov eax, 4
sub edi, ebx
sub edx, ecx
xor edi, edx
xchg edi, edx
ror edx, 0xf
xor ecx, ebx
and edi, ecx
dec edx
jmp 0x594cc6
mov dword [esp + 0x54], 0
xor edx, ecx
mov edx, edi
add edi, edx
and edi, ebx
mov ecx, edx
rol ebx, 0x1a
or ebx, edx
or ebx, edi
xor edi, 0x9ed97917
dec edi
jmp 0x593e53
push esi
add ebx, edx
or ebx, edi
and edx, ecx
and ebx, ecx
or ebx, ecx
and ecx, 0x9f0885a1
jmp 0x5935ea
mov esi, dword [esp + 0x11c]
neg ecx
mov ebx, edi
ror ebx, 0x11
inc edi
add ecx, ebx
xchg ecx, ebx
sub edx, 0x9f1f526f
xor ecx, edx
or ecx, ebx
xchg edx, ecx
and ebx, ecx
shl ebx, 0xa
jmp 0x593424
mov eax, 2
xor edx, ebx
or edi, 0x9f311aef
sub ecx, ebx
xor ecx, edi
jmp 0x592604
mov esi, dword [esp + 0x130]
add edi, ecx
or edx, 0x9f323c7b
and ecx, edx
xor edx, 0x9f32cb6b
bswap ebx
sub ecx, edx
not ebx
mov ebx, edi
or ecx, ebx
xchg ecx, edi
jmp 0x592cc8
mov esi, dword [esi]
xor ebx, edi
and ecx, edi
xchg ebx, ecx
sub edi, ecx
xor edi, 0x9f359807
sub edi, 0x9f35d87d
sub ecx, 0x9f362afb
or edi, edx
xchg edx, ebx
or ecx, ebx
jmp 0x593cac
sub dword [esp + 0x11c], 8
xor ecx, ebx
xor ebx, ecx
or edx, edi
inc ecx
sub ebx, ecx
add ebx, ecx
jmp 0x593fe0
mov dword [esp + 0x130], 0
and ebx, 0x9f491179
sub edi, 0x9f4952e1
sub ecx, ebx
mov ecx, 0x9f49d005
sub ebx, edi
xor ecx, edx
rol ecx, 0x1f
mov ebx, ecx
sub edx, edi
xchg edi, edx
shl edx, 0x1c
xor edx, ebx
mov edi, 0x9f4c19e3
add edx, 0x9f4c5913
and ecx, 0x9f4c9905
rol edx, 1
jmp 0x592fec
add dword [esp + 0x130], 4
ror edx, 0x1b
xor ebx, edx
neg edi
or ecx, edi
xor ebx, ecx
dec ebx
xchg edx, ebx
inc edx
or edx, 0x9f4f4055
and ebx, edi
add edx, 0x9f4fbedd
mov edi, 0x9f4ffec9
sub ebx, edi
or ebx, edi
jmp 0x5933fc
mov esi, dword [esi]
xor ecx, ebx
xchg ecx, ebx
shr edi, 8
and ebx, ecx
xchg ecx, edi
xor ebx, edx
sub edx, 0x9f5609d7
rol edi, 6
jmp 0x59239e
xor eax, eax
not ebx
xor ecx, 0x9f56e337
add edi, ebx
xor edi, edx
or ebx, edx
or edi, ecx
sub edx, ebx
mov edi, ebx
neg ebx
mov ecx, edx
jmp 0x593a1a
mov esi, dword [esi]
xor edi, edx
add edi, edx
shl edi, 0x12
xchg ecx, edx
add ecx, 0x9f86496f
shl edx, 0xe
mov ebx, 0x9f86cabf
and ebx, edx
xor edx, ecx
mov ebx, edx
jmp 0x59413f
mul esi
add ebx, ecx
not ecx
inc edx
and ecx, ebx
bswap ecx
bswap edx
and ecx, edx
not edx
jmp 0x592282
add esi, dword [esp + 0x18]
or edx, ecx
inc ebx
and edi, edx
xor edx, edi
xchg edx, ebx
and ecx, edi
shr ecx, 0xb
dec edi
xor ebx, ecx
mov ebx, edx
mov edi, 0x9fa9aeb7
sub ebx, ecx
jmp 0x592f7c
xor al, byte [esi]
dec ecx
and edx, edi
xchg ebx, edx
or ebx, ecx
and edi, edx
or edi, ecx
jmp 0x5923f3
mov esi, dword [esi]
mov ebx, 0x9fb13ca7
add edi, edx
xchg ecx, edx
and ecx, 0x9fb1f9a3
sub ebx, 0x9fb239d3
shr ecx, 0x1b
xor edi, ebx
xchg edi, ebx
sub ebx, ecx
neg ecx
inc ebx
inc edx
add ecx, edi
or ebx, 0x9fb486f3
jmp 0x5925ea
add dword [esp + 0x11c], 0x20
ror ebx, 0x1e
mov edx, ecx
add edx, ebx
sub ecx, 0x9fb94e0f
not edx
rol edi, 0x1b
or edx, ebx
ror edi, 0xe
jmp 0x593303
pop esi
xchg edi, edx
rol ebx, 2
xor ecx, edi
shr ebx, 0x1a
xchg ecx, edi
inc ebx
add ecx, 0x9fc2c58b
sub edx, edi
xor edi, ecx
sub ecx, 0x9fc38249
jmp 0x5945a2
inc esi
dec edx
xor ecx, edi
and ecx, edx
xor ecx, edx
xor ecx, 0x9fc4d535
xor edx, ecx
xchg ebx, edx
xor edx, ebx
add ecx, 0x9fc5e33f
xchg ecx, ebx
jmp 0x595547
add esi, dword [esp + 0x54]
mov edi, 0x9fdff17d
ror edx, 0x10
rol edi, 0x16
rol edx, 2
and ecx, 0x9fe10603
xchg ecx, edx
or ecx, 0x9fe18619
add edi, edx
ror ecx, 0x1e
rol ebx, 0x17
jmp 0x59222d
add dword [esp + 0x11c], 0x78
and edi, ecx
shl ecx, 0x15
rol ecx, 0xf
ror edi, 8
rol edx, 0x17
xor edx, ecx
xchg ecx, ebx
add ebx, edx
add ebx, 0x9fef317f
mov ecx, 0x9fef7161
shl edx, 0x10
sub ebx, edx
add edi, 0x9ff03143
sub ecx, ebx
jmp 0x59283b
mov esi, dword [esp + 0x11c]
bswap ebx
add edx, edi
rol edi, 7
sub ebx, edi
neg ebx
mov edx, edi
and ebx, 0x9ffc2229
xor edi, ecx
and ebx, ecx
xchg ebx, edx
rol edx, 0x1d
and edx, 0x9ffd6053
xor ebx, ecx
add ecx, edx
jmp 0x5944e5
mov dword [esp + 0x11c], 0
inc edx
xor ecx, 0xa002d737
xchg edx, ecx
and ebx, 0xa003573d
bswap edi
xor edi, edx
shl edx, 0x12
sub edi, ebx
xchg ecx, ebx
add ebx, ecx
rol edx, 6
shr edi, 0x17
jmp 0x594340
mov dword [esp + 0x130], esi
sub edi, ebx
sub ecx, ebx
sub edx, ecx
xor edi, ecx
jmp 0x5933e6
mov esi, dword [esp + 0x11c]
and ecx, edx
add ecx, edi
sub edx, ebx
xor ebx, edi
or ecx, ebx
add ecx, 0xa023cfe1
not ebx
add ecx, ebx
sub edi, 0xa0248f57
sub edx, ebx
xchg ecx, edx
inc ecx
jmp 0x593823
add esi, dword [esp + 0x54]
xor edx, edi
dec ebx
or edx, 0xa03c664d
add edi, edx
and ecx, ebx
xor edx, ecx
or ebx, edi
shr edi, 0xa
and edi, ecx
xor edi, ecx
and ebx, 0xa03fa66d
and ecx, edx
xor edi, ebx
nop
jmp 0x5941dd
mov dword [esp + 0x11c], esi
mov ecx, ebx
and edx, edi
add ecx, edx
rol ebx, 0x1e
mov edx, ebx
xchg edi, ecx
shr ecx, 0x11
not edi
and ecx, 0xa04d2869
not edx
jmp 0x59542b
mov esi, 0x30
or edi, ecx
sub ebx, edi
shl ebx, 0x13
sub ebx, edi
sub edi, ebx
xor ecx, edx
jmp 0x594886
mov dword [esp + 0x34], esi
and edi, 0xa0676289
or edi, 0xa067a255
and ebx, edi
xor edx, ecx
shl edx, 0x1c
sub ecx, ebx
xchg ebx, edx
or ecx, ebx
xor edx, edi
xor ecx, edx
bswap edi
inc edi
or edi, edx
sub edi, 0xa06ab1af
mov ecx, edi
sub edx, 0xa06b2e6b
jmp 0x594308
mov esi, dword [esi]
sub ecx, edx
sub ebx, edx
bswap edi
mov edi, 0xa08c15ef
or edi, ecx
neg edi
dec ecx
shl edx, 0x1b
mov edx, ecx
mov edi, ebx
jmp 0x5921ca
add dword [esp + 0x11c], eax
mov ebx, ecx
or ecx, 0xa092fe77
add ecx, ebx
neg edx
mov ebx, edi
not ecx
xchg edi, edx
and ecx, ebx
mov ebx, 0xa094c951
xchg ebx, edi
mov edi, ecx
ror edi, 0x1b
add ebx, edx
dec edx
jmp 0x592475
cmp eax, dword [esp + 0x34]
jmp 0x594fd6
add esp, 0x134
xor edx, ebx
and ebx, 0xa09c7b69
bswap edi
or edx, ebx
add edx, edi
mov edx, ecx
mov edi, ebx
xor ebx, 0xa09e057b
xor edx, ecx
xchg edx, edi
neg edx
mov edx, ecx
xor edx, 0xa09f45bf
and ecx, edi
jmp 0x594916
add esi, 0x3c
ror edx, 0xe
add ebx, ecx
ror edx, 0x16
and edi, ecx
or ecx, edx
rol ebx, 8
or ebx, 0xa0a158c1
sub edx, 0xa0a199b3
inc edx
dec ecx
mov ebx, edx
mov edi, 0xa0a36933
jmp 0x593a4b
add dword [esp + 0x11c], 4
shl edi, 0x19
and edx, ebx
ror ecx, 0x10
add edi, edx
mov edx, ecx
mov edi, 0xa0c83d69
mov ecx, edi
not ebx
jmp 0x593dde
mul esi
shl edi, 0xc
and edx, 0xa0c955ef
not edx
add edx, edi
sub edx, edi
sub edi, ebx
sub edi, ecx
xor edx, ecx
not edx
dec ebx
jmp 0x594544
mov esi, dword fs:[esi]
mov ebx, ecx
and edi, ebx
add ebx, edx
ror ecx, 0xc
add ebx, edi
xor edi, ecx
jmp 0x594e20
ret
mov esi, dword [esi]
or edx, ecx
neg edx
xor edi, 0xa111d937
or ecx, 0xa1121af3
dec edi
shr ebx, 4
mov ecx, ebx
mov ecx, edx
xchg ecx, ebx
rol edi, 8
add ebx, ecx
and edx, ecx
jmp 0x592aa3
movzx esi, word [esi]
and edx, ecx
mov ecx, edx
xor ebx, 0xa128d469
xchg edi, edx
add edx, ebx
shr ecx, 3
sub ecx, edi
or ecx, 0xa12a21a3
add ecx, edi
xor edx, 0xa12a9ef5
mov edx, ebx
sub edx, ecx
and edi, edx
sub ecx, edx
jmp 0x594828
mov esi, dword [esp + 0x54]
mov edx, 0xa136d2d3
sub ecx, 0xa1371247
xchg ebx, ecx
xor edi, ebx
xchg ebx, ecx
xor ecx, ebx
or ecx, edx
add edx, ecx
shl ebx, 0x14
bswap ebx
ror edi, 0xf
xor ecx, edx
xor ecx, edi
or edi, ecx
bswap ecx
add edi, edx
jmp 0x592959
add esi, 0xc
mov edx, 0xa1428977
xor ecx, edi
xor edi, 0xa1430983
xor ecx, 0xa14349d1
rol ebx, 0x12
xor ebx, 0xa143db9b
mov edx, 0xa1441a4f
add ebx, edx
add ebx, edi
mov edi, 0xa144d4c3
jmp 0x5935cd
jne 0x5927cf
or edx, ebx
xor edi, 0xa163034f
sub edi, 0xa1634489
sub ecx, edi
xor edi, edx
xor edx, 0xa1640299
or edx, 0xa16442bf
xor edi, 0xa164822f
neg ecx
ror ebx, 0xe
not edx
add edi, 0xa1659631
and ebx, edx
sub edi, edx
add ecx, edx
and edi, 0xa1668f47
jmp 0x594806
add esi, 0x18
not edi
shr edx, 0x11
sub ebx, 0xa1676631
shr edi, 0x18
mov ebx, ecx
mov ebx, edx
xchg edx, edi
xchg ebx, ecx
sub ecx, ebx
and ecx, edi
jmp 0x595287
mov esi, dword [esi]
sub edi, edx
add ecx, 0xa19717b3
xor edi, ecx
xor edi, 0xa197963f
neg ecx
neg edx
xchg edx, ebx
bswap ebx
shr edi, 0x10
mov ecx, edx
shr ebx, 3
add edx, ecx
jmp 0x59267e
mov esi, dword [esp + 0x54]
sub edi, ebx
or ecx, 0xa1afa61f
sub edx, ecx
xchg edx, ebx
mov ecx, edi
or edx, ebx
sub edx, ecx
or ebx, edx
jmp 0x5945f9
mov esi, dword [esp + 0x130]
bswap ecx
xor ecx, ebx
add edx, 0xa1b62557
xor ebx, edx
xchg edx, edi
bswap edi
and ebx, edx
sub edx, ecx
or edi, 0xa1b7b29d
add edi, ebx
sub ecx, edx
xor edx, edi
jmp 0x5939c7
add esi, dword [esp + 0x54]
dec ecx
xchg edi, ebx
sub edx, ebx
rol edx, 0xe
jmp 0x593203
cmp byte [esi], 0
jmp 0x592e95