Function at 0x4788a8
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword [esp + 0xfc]
add edx, 0x56ca291b
xor esi, ebx
sub edx, 0x56cab100
neg edx
jmp 0x478176
add edi, dword [esp + 0xec]
xor ecx, edx
xchg ecx, ebx
xchg edx, esi
or esi, 0x56ce40a6
xchg esi, ebx
inc ebx
bswap ecx
xor ecx, 0x56cf351d
xchg edx, ecx
jmp 0x475513
push edi
mov ebx, edx
neg ecx
shl ecx, 0xa
and edx, 0x56d91945
xor edx, ecx
jmp 0x477592
mov edi, dword [edi]
shr esi, 0x15
nop
sub ecx, ebx
ror esi, 0xa
shr ebx, 0xb
sub esi, ebx
jmp 0x478224
mov dword [esp + 0x3c], 0
and ecx, ebx
and edx, esi
xor ecx, 0x5712981f
sub edx, ecx
or ebx, edx
neg edx
jmp 0x475dae
rol eax, 8
or ecx, esi
add ecx, edx
add ebx, ecx
not ebx
mov ebx, 0x57255a06
sub edx, 0x572599e0
or ecx, ebx
inc esi
not ecx
jmp 0x4764b1
add dword [esp + 0xfc], 0x78
shr ebx, 0x13
shl ebx, 2
xchg ebx, esi
sub ecx, 0x572ae07a
xor ecx, esi
sub esi, ecx
add ecx, ebx
xor edx, ebx
or ebx, 0x572c1f57
jmp 0x4786a3
cmp byte [edi], 0
jmp 0x475a59
jne 0x478246
bswap esi
sub edx, ebx
sub edx, esi
or ebx, edx
and ebx, 0x5741c237
xor edx, esi
shr edx, 2
add edx, ecx
mov esi, ecx
or ecx, esi
xor ebx, esi
jmp 0x4788bd
mov edi, dword [edi]
xor ecx, esi
shr edx, 0xf
or edx, 0x574719a5
or ebx, edx
xor ebx, 0x574793d2
dec esi
inc esi
dec ebx
mov ebx, esi
and ebx, edx
add esi, edx
or esi, 0x57495260
xchg edx, esi
jmp 0x4786cc
add edi, 0x3c
xor ebx, edx
add ebx, ecx
inc edx
mov esi, 0x57651e2b
xchg ecx, edx
and ebx, ecx
xor ebx, edx
or ecx, edx
neg ebx
bswap edx
shl edx, 0x1d
or edx, esi
shr ecx, 9
add edx, ecx
dec edx
and ebx, edx
jmp 0x476642
mov edi, dword [esp + 0xfc]
or edx, esi
and ecx, 0x576ca412
add esi, 0x576ce3fc
xchg ebx, esi
neg edx
nop
add ebx, ecx
ror edx, 0x1b
sub ebx, edx
and ebx, ecx
jmp 0x475aa2
mov dword [esp + 0x12c], 0
and ecx, ebx
or ebx, ecx
shr edx, 0xe
xor esi, edx
dec esi
xor ebx, 0x57dd5f4d
add edx, esi
not esi
sub ebx, 0x57de27ce
xor ecx, edx
xor ebx, ecx
jmp 0x47696c
jne 0x477e13
inc ebx
add ecx, esi
add ebx, ecx
xor esi, ebx
shr ecx, 0x11
mov edx, 0x57e2a1ba
add edx, ecx
or esi, ecx
xor ecx, 0x57e358b9
sub ecx, 0x57e397e4
sub ebx, ecx
shl edx, 0x10
shl edx, 0x18
jmp 0x475fa2
add esp, 0x170
or edx, ebx
xor ebx, esi
bswap esi
sub esi, edx
rol edx, 0x1e
or ecx, esi
jmp 0x477027
mov dword [esp + 0x3c], eax
sub edx, 0x57eec682
mov edx, ebx
and ebx, 0x57ef503d
add esi, ecx
or esi, 0x57efcb11
mov ebx, ecx
add ecx, ebx
xor edx, ebx
jmp 0x476fef
add dword [esp + 0xfc], 4
xor ebx, edx
xor esi, 0x57ffd4bd
add ebx, esi
and ebx, 0x58004e9b
xchg ebx, ecx
xchg esi, edx
bswap ebx
xor ebx, esi
or ecx, esi
jmp 0x475c02
mov eax, 2
ror esi, 0x1d
shl ecx, 0x1e
sub edx, ecx
xor esi, 0x580d6053
or esi, ecx
jmp 0x477a4e
mov edi, dword [edi]
xor esi, ecx
or edx, 0x58388a01
mov ecx, ebx
add edx, esi
add ebx, edx
nop
or esi, 0x5839c6ea
add ecx, edx
xor ebx, 0x583a3eab
or ecx, edx
jmp 0x475472
mov dword [esp + 0x12c], edi
and edx, ecx
mov esi, 0x584f1693
ror edx, 0x11
rol edx, 0xd
jmp 0x476070
inc edi
shl edx, 0x12
rol edx, 0xe
xor esi, ecx
xchg ecx, ebx
or ecx, 0x585bf919
shr ebx, 0x12
not edx
mov ecx, 0x585ce556
jmp 0x47598c
mul edi
not edx
add esi, ebx
add esi, edx
xor esi, edx
add ecx, edx
xor ecx, esi
xor esi, ebx
and edx, 0x589df8f3
or ebx, esi
sub ebx, 0x589eef23
mov ebx, 0x589f6548
shl esi, 5
or ecx, 0x58a0641b
dec edx
jmp 0x475eb6
mov edi, dword [edi]
inc edx
sub edx, ebx
xchg edx, ebx
sub edx, ecx
xor edx, ecx
xor esi, ecx
or esi, 0x58b59fef
neg ecx
or esi, ecx
neg ecx
jmp 0x4770a9
mov dword [esp + 0xec], edi
xchg edx, esi
ror edx, 0x1d
add esi, 0x58f94a0a
sub esi, ebx
or ecx, ebx
add ebx, esi
sub ecx, esi
xchg ecx, esi
jmp 0x477193
add dword [esp + 0x12c], 4
xor ebx, 0x5912ce78
bswap ebx
or esi, ebx
or ecx, edx
mov esi, 0x59149e3b
and ecx, 0x59152052
or edx, ecx
sub edx, esi
and ecx, 0x5916a653
jmp 0x4781d2
mov dword [esp + 0xec], 0
sub esi, ecx
add esi, ecx
and esi, edx
rol ecx, 0x12
jmp 0x477467
mov edi, dword [esp + 0x12c]
shr edx, 0xc
ror ebx, 0x15
add ecx, ebx
mov esi, ecx
xor esi, edx
not edx
inc esi
sub ebx, edx
jmp 0x476a8b
add edi, dword [esp + 0x3c]
or edx, esi
xor edx, esi
not ecx
and esi, ebx
or edx, esi
sub ebx, ecx
and ecx, edx
neg edx
xor esi, edx
jmp 0x476af7
mov eax, 4
and edx, 0x595b9950
or esi, 0x595c1d78
shl edx, 8
xchg edx, esi
and ecx, 0x595d9ed6
add ecx, esi
jmp 0x477af1
mov edi, dword [esp + 0xfc]
or ecx, 0x59683cac
bswap esi
mov esi, ecx
xor ecx, esi
xchg ecx, edx
sub esi, ebx
mov esi, ecx
shr ecx, 0x1b
sub ecx, 0x596c8968
jmp 0x477975
add edi, dword [esp + 0xfc]
nop
inc edx
or ebx, edx
add esi, ecx
neg ecx
jmp 0x477409
mov edi, dword [edi]
ror ebx, 0x14
sub ecx, esi
mov edx, 0x5998536e
xchg esi, ebx
xor esi, 0x5998d042
jmp 0x47742d
add dword [esp + 0xfc], eax
or ebx, ecx
ror edx, 0x1b
add ebx, edx
xor edx, esi
inc edx
mov ecx, edx
neg esi
and ecx, ebx
jmp 0x476da9
mov edi, dword [esp + 0xfc]
xor ebx, edx
or ecx, ebx
xor esi, ecx
add ebx, 0x59a00b8e
add edx, ecx
shl esi, 2
shr edx, 0x1f
nop
add esi, edx
add esi, ecx
jmp 0x476d40
sub dword [esp + 0xfc], 8
xor edx, 0x59d45c1c
shl ecx, 0x1b
or ebx, esi
xor ecx, 0x59d5167d
neg esi
dec edx
or esi, edx
or edx, 0x59d6103e
or edx, ecx
sub esi, ebx
add ecx, 0x59d6d9b3
mov ebx, ecx
shl ecx, 6
jmp 0x475432
ret
mov dword [esp + 0xfc], edi
xchg ebx, esi
xchg esi, ebx
xchg edx, esi
xor edx, esi
xor ecx, esi
sub ebx, edx
xor ebx, 0x59e2db5c
jmp 0x47591f
mov dword [esp + 0x10c], edi
xor edx, 0x59e4141f
and edx, ecx
or ebx, esi
add edx, esi
mov esi, ebx
and edx, 0x59e54c52
jmp 0x4779f3
mov edi, dword [esp + 0xec]
xor ebx, 0x59f17f2f
shl edx, 0x19
xor esi, ecx
mov ebx, 0x59f2353e
xor ecx, esi
or ebx, 0x59f2aec0
sub esi, 0x59f2eb27
xchg ebx, esi
sub edx, ebx
or edx, ecx
bswap edx
sub esi, edx
or ebx, esi
mov ebx, esi
xor ebx, edx
jmp 0x475b9d
mov dword [esp + 0x12c], edi
dec edx
or edx, 0x59ffeedb
sub ecx, esi
sub ebx, 0x5a0068ae
xchg ebx, esi
sub esi, edx
or edx, esi
and edx, 0x5a0168ae
jmp 0x477e13
mov edi, dword [edi]
or ebx, 0x5a1fa1dc
ror edx, 0x1c
shl ecx, 0x12
shl ecx, 2
and edx, ebx
inc ebx
rol ecx, 0x17
sub edx, 0x5a215d24
and esi, ebx
jmp 0x4787fa
add edi, dword [esp + 0xec]
or edx, 0x5a21ec84
sub esi, ebx
not ecx
dec esi
xor ebx, esi
sub edx, ecx
xchg ecx, ebx
add ecx, ebx
xor esi, edx
jmp 0x475e57
mov dword [esp + 0xfc], 0
add ebx, esi
or edx, ecx
neg ecx
dec esi
xchg edx, ebx
jmp 0x4770d2
xor eax, eax
sub ebx, edx
sub esi, ecx
shr edx, 0xa
or ecx, 0x5a3d67bf
xor ecx, 0x5a3da6fd
xchg ecx, edx
xchg edx, ebx
xchg ebx, ecx
mov esi, edx
and ebx, esi
ror edx, 0x10
inc esi
neg esi
jmp 0x478246
add dword [esp + 0xfc], edi
shr ebx, 0x16
and ebx, 0x5a4b6e09
sub ecx, esi
and ebx, ecx
inc edx
or edx, 0x5a4c66a9
add esi, 0x5a4ca431
and esi, ecx
add esi, 0x5a4d2ffc
xor esi, ebx
xchg esi, ebx
or ebx, 0x5a4e35ae
and ecx, edx
xchg edx, ebx
xchg ebx, esi
jmp 0x477dd1
mov edi, dword fs:[edi]
xor ebx, ecx
inc esi
mov ebx, esi
jmp 0x477f68
mov edi, dword [edi]
inc ecx
or edx, ebx
sub edx, ecx
and edx, ebx
or ebx, esi
or ecx, ebx
xchg esi, ecx
or esi, ebx
jmp 0x478a60
mov edi, 0x30
shr ebx, 0x15
and ebx, esi
xor edx, ebx
add ecx, 0x5a908116
dec ecx
and edx, ebx
ror ecx, 0xe
or esi, ecx
mov esi, ebx
xor ecx, edx
jmp 0x4777ff
mov edi, dword [esp + 0x3c]
shl ebx, 6
add edx, ecx
shl ebx, 0x11
xor esi, ebx
sub ebx, ecx
add ebx, ecx
xor ecx, edx
dec esi
jmp 0x4765a4
add edi, 0xc
add ecx, ebx
or ecx, edx
mov ecx, ebx
mov edx, ecx
ror ebx, 4
add esi, 0x5aa1a181
or ebx, 0x5aa1de27
sub ebx, esi
mov edx, esi
and esi, edx
inc edx
jmp 0x478478
movzx edi, word [edi]
or esi, edx
rol esi, 6
xchg ebx, esi
shr edx, 0x1a
dec esi
sub esi, 0x5aa47217
mov ecx, edx
add ebx, ecx
jmp 0x478931
add dword [esp + 0xfc], 0x20
mov ecx, edx
mov ebx, edx
sub ebx, ecx
or ebx, edx
ror ecx, 5
or ebx, ecx
and ecx, edx
mov ecx, ebx
dec ecx
jmp 0x476b69
inc dword [esp + 0x3c]
neg edx
dec ebx
or edx, ecx
mov edx, ecx
jmp 0x4768df
mov dword [esp + 0xfc], edi
xor ecx, edx
or ecx, edx
shr ecx, 1
xchg edx, ecx
sub edx, 0x628c4079
rol ecx, 5
mov esi, ecx
ror ebx, 4
dec edx
xchg edx, ebx
xor edx, esi
jmp 0x476a6e
add edi, 0xc
shl ebx, 0xa
rol edx, 0x1f
xor ecx, ebx
not esi
xchg ecx, esi
xchg esi, ecx
rol edx, 2
neg edx
jmp 0x4780da
cmp eax, dword [esp + 0x10c]
jmp 0x475dfd
mov edi, dword [edi]
rol ebx, 7
and ecx, 0x62ac5025
rol esi, 0xb
sub ebx, ecx
xor edx, esi
ror esi, 0x1e
or esi, edx
or esi, edx
ror esi, 3
xor ebx, edx
jmp 0x477acb
mov edi, dword [edi]
sub esi, 0x62ba82c3
shl ebx, 8
xchg ecx, ebx
not ebx
jmp 0x478682
mov edi, dword [esp + 0x12c]
xor ecx, ebx
xchg ecx, ebx
add edx, 0x62c1d578
not ecx
neg ecx
or ebx, 0x62c293e8
xor edx, ecx
or ecx, edx
xchg ebx, edx
sub esi, 0x62c3893c
jmp 0x4762dd
add edi, 0x18
add esi, edx
not ecx
xchg edx, ebx
jmp 0x478746
xor al, byte [edi]
add esi, ecx
or ecx, edx
bswap edx
xor ecx, ebx
and ebx, esi
sub ebx, 0x62c95fcc
jmp 0x4758d6
mov edi, dword [esp + 0xec]
mov esi, ecx
mov edx, ecx
and ecx, esi
mov esi, ecx
mov ebx, 0x62d83865
add edx, ecx
inc ecx
add ebx, esi
xchg ecx, edx
shr edx, 0x14
and esi, ecx
rol esi, 5
or ecx, ebx
jmp 0x477655
mov edi, dword [edi]
xchg ecx, ebx
xor edx, 0x62f435a3
xchg ebx, ecx
and edx, 0x62f4ae2e
xchg esi, ecx
dec ebx
sub esi, edx
shl ecx, 0x1c
jmp 0x47858b
mov edi, dword [edi]
and edx, esi
not ecx
xor ebx, ecx
shr ecx, 1
bswap esi
dec esi
sub esi, 0x6307945f
inc edx
add ecx, 0x630810ec
add edx, ebx
add ecx, edx
jmp 0x4755f1
add edi, dword [esp + 0xec]
mov ecx, 0x63176220
add ebx, ecx
nop
neg edx
xor esi, 0x631866c9
xor esi, ecx
shl ecx, 0xb
jmp 0x477efb
mov edi, dword [esp + 0xec]
rol ebx, 0xd
and esi, 0x631970c9
sub ebx, 0x6319ad15
xor esi, ebx
shl ecx, 8
shr ecx, 0x17
xchg esi, edx
mov esi, ecx
mov edx, esi
jmp 0x476b90
add edi, dword [esp + 0xec]
or edx, esi
and ebx, edx
add edx, esi
jmp 0x4763fa
mov edi, dword [edi]
rol ebx, 3
rol esi, 0x11
dec edx
add esi, edx
and edx, ebx
ror edx, 0x12
or ebx, esi
jmp 0x47680c
mov dword [esp + 0xfc], edi
shr ebx, 5
neg edx
sub ebx, esi
mov edx, ecx
or edx, 0x633139bb
shr ecx, 0x1a
and edx, ecx
and esi, 0x6331fd38
or ecx, 0x63323af2
add ebx, 0x63327733
or ebx, esi
jmp 0x47830d
sub esp, 0x170
neg esi
and edx, ebx
mov ecx, 0x633c222c
dec edx
jmp 0x4757da
pop edi
ror edx, 0xf
mov ebx, 0x633cee0a
xor ebx, 0x633d2b61
shr ecx, 0x10
and edx, 0x633da571
bswap edx
sub ecx, 0x633e21c4
inc ecx
jmp 0x478043
mul edi
rol esi, 0xe
inc esi
rol esi, 0xd
xchg esi, ebx
jmp 0x476d59
add edi, dword [esp + 0xec]
mov esi, ebx
and ebx, ecx
xor ecx, 0x635a4994
add ecx, edx
sub ecx, ebx
add esi, 0x635afbd7
mov esi, 0x635b38bf
add ebx, ecx
add ebx, 0x635c2bb7
jmp 0x47724d