Function at 0x4771d2
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword fs:[edi]
mov esi, 0xc090dd85
or ecx, ebx
shl esi, 0x19
xor edx, ebx
and esi, edx
sub edx, ecx
shl esi, 0xd
xor ebx, edx
jmp 0x476fa8
mov eax, 2
xchg edx, ebx
mov edx, ebx
or ecx, edx
mov edx, ecx
xor ecx, esi
or esi, 0xc099f027
ror ebx, 5
neg ebx
mov edx, ecx
xchg ecx, edx
add edx, ebx
sub ecx, ebx
jmp 0x473adf
mov edi, dword [esp + 0x4c]
sub esi, edx
shr ebx, 0xd
sub esi, edx
and ebx, edx
mov esi, ebx
neg ebx
or edx, ebx
xor ecx, 0xc0acac85
add ebx, 0xc0acdced
xchg ecx, esi
jmp 0x47510d
mov dword [esp + 4], edi
mov ebx, 0xc0b8855b
mov edx, ebx
shl ebx, 6
sub edx, ecx
sub esi, ecx
shl esi, 0x1d
add edx, esi
or ecx, edx
sub ebx, edx
xor ebx, edx
xchg ecx, esi
sub ecx, esi
jmp 0x475f4d
mov edi, dword [esp + 0x4c]
add ecx, edx
and ecx, ebx
xor edx, ebx
xor esi, ecx
and ebx, ecx
xor ebx, edx
jmp 0x475818
mov edi, dword [edi]
add ebx, edx
mov edx, esi
mov edx, ebx
add edx, esi
sub edx, ebx
and esi, ebx
or ebx, ecx
xchg ebx, esi
xchg esi, ecx
sub ebx, 0xc0e70bfb
jmp 0x476a11
mov edi, dword [esp + 4]
or ebx, 0xc0ec6369
dec esi
ror edx, 0x1d
and esi, ecx
add edx, ebx
add edx, 0xc0ed4eb3
and ecx, esi
mov ebx, 0xc0edaa15
mov ecx, esi
inc edx
jmp 0x473dc0
xor eax, eax
xor ecx, esi
xor ecx, edx
and esi, 0xc1016127
sub esi, 0xc1017db7
add ebx, esi
and ebx, 0xc101b101
add esi, ebx
mov edx, esi
rol esi, 9
and ecx, 0xc1021f4f
shr edx, 0x13
xor edx, ecx
jmp 0x476c8b
add dword [esp + 0x4c], 4
shl ebx, 0x1f
or edx, esi
mov ebx, esi
mov ebx, ecx
dec edx
mov ecx, 0xc110f06f
xor edx, 0xc1110c4b
not ebx
ror edx, 8
mov edx, ebx
xor ebx, esi
dec ecx
sub ecx, edx
sub ebx, ecx
add esi, ecx
rol esi, 0x12
jmp 0x474ae0
add dword [esp + 0x4c], 0x20
add edx, 0xc114de9b
or ebx, edx
mov ecx, 0xc11513f7
sub ecx, ebx
xchg ebx, ecx
and ecx, 0xc11568c5
mov esi, ecx
mov esi, edx
xor ecx, 0xc115b5d9
or ecx, ebx
or esi, ebx
sub edx, ecx
jmp 0x476ffa
mov eax, 4
xor esi, ecx
xor esi, 0xc1164341
rol ecx, 5
xor esi, ecx
add ecx, esi
add esi, ebx
xchg ebx, ecx
and ecx, 0xc116e629
mov esi, ecx
and ecx, ebx
jmp 0x477118
mov dword [esp + 0x7c], 0
sub edx, ecx
sub edx, ebx
and edx, ecx
or ebx, edx
xchg ecx, esi
sub esi, 0xc117be11
bswap edx
xor edx, ecx
or esi, edx
sub edx, esi
jmp 0x477138
add edi, dword [esp + 0x38]
ror esi, 5
or ecx, 0xc1217b5d
xchg ebx, esi
or esi, edx
jmp 0x476eae
add edi, dword [esp + 0x38]
sub ebx, ecx
shr ebx, 0xd
neg esi
add esi, edx
xchg esi, edx
mov edx, esi
jmp 0x474da1
mul edi
inc ebx
shr esi, 4
sub ecx, ebx
xchg esi, edx
not esi
xchg esi, ebx
or ebx, edx
mov ecx, 0xc12725df
xor edx, esi
mov edx, 0xc1275bd5
jmp 0x476ef6
jne 0x475f4d
xchg esi, edx
mov edx, esi
or edx, 0xc12c2be9
add ecx, ebx
add edx, ecx
shr ecx, 5
sub ebx, edx
mov edx, ecx
jmp 0x4735fe
mov edi, dword [esp + 0x7c]
sub ebx, esi
mov edx, esi
mov esi, ebx
mov esi, 0xc1375ec5
inc ebx
mov edx, esi
shr edx, 4
and esi, ecx
jmp 0x4738d5
add dword [esp + 0x4c], 0x78
inc edx
mov esi, 0xc143ffc1
ror ebx, 0xf
sub edx, esi
sub edx, ecx
ror edx, 3
jmp 0x476e56
mov dword [esp + 0x38], 0
or ebx, edx
neg ecx
xchg edx, ecx
and edx, 0xc14c4db7
or ecx, esi
and esi, ecx
dec esi
shl ecx, 0x18
mov ebx, esi
sub edx, ecx
sub edx, ebx
xor edx, ebx
xchg ebx, esi
mov esi, ebx
sub esi, 0xc14d7303
xchg ebx, ecx
jmp 0x475fbe
mov edi, dword [edi]
inc edx
xor ecx, esi
and ecx, edx
inc ecx
rol esi, 0xc
shl edx, 2
ror ebx, 0x12
add esi, ebx
add edx, esi
dec esi
mov ebx, esi
mov ebx, ecx
mov ebx, edx
or ebx, edx
jmp 0x473845
mov dword [esp + 0x4c], edi
neg esi
and ecx, esi
xor ebx, 0xc1542913
xchg edx, ecx
add ecx, esi
mov ecx, edx
or ecx, ebx
neg esi
and ecx, esi
add ebx, 0xc154e5f7
inc ecx
mov esi, ebx
sub esi, 0xc15536d5
xchg ebx, ecx
jmp 0x476c4a
inc edi
xor esi, edx
xchg edx, ebx
sub ecx, ebx
rol edx, 0x1c
jmp 0x475711
add dword [esp + 4], 4
not edx
and esi, edx
rol edx, 0x15
add ecx, edx
xor esi, ecx
add ecx, esi
jmp 0x4731bf
mov dword [esp + 4], edi
shl ebx, 0xa
xchg esi, edx
or esi, ecx
xchg ebx, ecx
and ecx, 0xc185d905
mov esi, ecx
sub ecx, 0xc1860edf
and esi, edx
or ecx, edx
sub ecx, 0xc1866181
add edx, ebx
add esi, ecx
and ebx, esi
and edx, ebx
jmp 0x472c60
mov dword [esp + 0x38], edi
xor ecx, esi
rol esi, 0x14
and ebx, 0xc189d0ef
or ecx, ebx
mov esi, 0xc18a05e1
add esi, 0xc18a204b
dec ebx
xor edx, 0xc18a5815
or edx, ebx
add ebx, edx
jmp 0x475ba2
mov edi, dword [edi]
and esi, 0xc18dcc8b
not ebx
and esi, ebx
and ebx, esi
xor edx, ecx
or edx, 0xc18e5535
and edx, esi
dec ecx
jmp 0x474dfb
cmp eax, dword [esp + 0x10]
jmp 0x473985
add edi, 0x3c
add edx, ebx
shr ebx, 0x1f
neg esi
and ebx, esi
ror esi, 0xd
mov edx, ecx
xchg ebx, ecx
xor ebx, ecx
jmp 0x4771a1
sub dword [esp + 0x4c], 8
inc ecx
or esi, ebx
add edx, ecx
xchg esi, ebx
and ebx, 0xc1a15301
sub ebx, 0xc1a16f91
mov ecx, 0xc1a18a7b
mov ebx, 0xc1a1a563
and edx, esi
add esi, 0xc1a1de55
add esi, ebx
and ebx, edx
sub edx, ebx
ror ecx, 0xe
sub esi, ebx
mov edx, 0xc1a27ca1
jmp 0x473024
mov edi, dword [edi]
or esi, edx
add esi, ebx
and ebx, edx
xor edx, ecx
and ebx, esi
mov ecx, 0xc1abce9b
xor edx, ecx
or edx, esi
and ebx, 0xc1ac1d5d
add esi, ecx
jmp 0x47630f
add edi, 0x18
and esi, 0xc1b7e523
rol esi, 8
sub ecx, edx
add ebx, edx
sub ebx, edx
add esi, edx
xchg esi, ecx
mov ecx, esi
and ecx, edx
bswap ecx
rol esi, 0xb
sub edx, ecx
mov ebx, 0xc1b92689
add ebx, 0xc1b941a7
jmp 0x476258
mov edi, dword [esp + 0x4c]
xchg edx, ebx
add esi, 0xc1bb5d89
and esi, 0xc1bb7873
or edx, ebx
bswap edx
xchg ebx, esi
or esi, edx
add esi, ebx
or ecx, 0xc1bc1c5d
or esi, 0xc1bc38c7
add edx, 0xc1bc53fb
inc esi
mov esi, ebx
rol ebx, 5
bswap esi
mov ecx, 0xc1bcdbaf
jmp 0x4748d0
add dword [esp + 0x4c], edi
not ecx
mov ecx, edx
xchg edx, ebx
xchg ebx, ecx
bswap esi
mov ecx, 0xc1c5f551
add ebx, edx
xor esi, 0xc1c62ad1
jmp 0x47368f
add edi, dword [esp + 0x4c]
xor esi, ecx
add ebx, 0xc1cae897
sub edx, ebx
ror ecx, 8
sub esi, ebx
inc ebx
sub esi, edx
sub edx, ecx
jmp 0x474e61
push edi
xor esi, edx
and esi, edx
or ecx, esi
sub ecx, ebx
shr ebx, 0x1e
mov ebx, 0xc1d2c473
ror ecx, 2
sub esi, ebx
sub ecx, edx
xor ecx, edx
jmp 0x47341b
mov edi, dword [edi]
add ebx, esi
and ebx, 0xc1d547eb
and esi, ecx
xor ecx, ebx
sub edx, esi
shl edx, 0x16
mov ecx, esi
or edx, esi
mov ebx, esi
mov ebx, ecx
jmp 0x474a78
mov edi, dword [edi]
mov ebx, edx
or ebx, esi
or edx, esi
mov ebx, esi
mov ebx, ecx
bswap esi
and ebx, esi
and esi, ebx
xchg ebx, ecx
mov ecx, ebx
jmp 0x475b66
mov edi, dword [edi]
ror esi, 0xf
sub esi, edx
add ebx, 0xc1dab389
sub edx, ebx
xor edx, ebx
xchg ebx, esi
or edx, 0xc1db2273
xchg edx, esi
sub ebx, edx
or ecx, 0xc1db7229
ror ecx, 0xa
sub esi, ebx
jmp 0x47455b
rol eax, 8
ror ecx, 4
add edx, ecx
or edx, ebx
sub ecx, edx
xchg edx, ecx
not ebx
and esi, ebx
xchg ebx, edx
mov edx, ebx
or edx, ebx
jmp 0x473ff5
mov edi, dword [edi]
add esi, edx
and ecx, ebx
bswap ebx
xor edx, ebx
or ecx, 0xc1ef232d
ror ecx, 0x13
bswap esi
mov ecx, 0xc1ef7cc3
sub ecx, ebx
mov esi, ebx
rol ebx, 0xb
bswap esi
jmp 0x47382c
mul edi
add ecx, esi
shl esi, 0x17
mov edx, ebx
xor ebx, esi
sub esi, ecx
xor esi, ecx
and ecx, esi
xor ebx, 0xc1faf9ed
jmp 0x476086
add edi, dword [esp + 0x7c]
add ebx, esi
add ebx, ecx
add ebx, edx
mov esi, edx
xchg ecx, esi
shr ecx, 0x10
mov ecx, 0xc211768f
add ebx, edx
jmp 0x4736c3
cmp byte [edi], 0
jmp 0x475757
jne 0x476c8b
inc ebx
or ecx, esi
mov esi, ebx
xchg ebx, esi
shl esi, 1
not esi
sub edx, ecx
rol esi, 0x18
add ebx, esi
add ecx, 0xc224edc1
add ecx, esi
shl ebx, 0x1e
jmp 0x476df4
mov edi, dword [edi]
xchg esi, edx
or ecx, edx
neg ebx
add ecx, esi
sub esi, ebx
and edx, ecx
jmp 0x4759ed
add edi, dword [esp + 0x38]
neg esi
or ecx, edx
mov ecx, 0xc23915d9
xor ecx, edx
rol edx, 0x16
mov ebx, ecx
neg edx
rol ebx, 0x1d
xor ebx, 0xc239bbbd
add ecx, 0xc239d64b
sub edx, ecx
sub esi, 0xc23a0b19
jmp 0x473e64
mov dword [esp + 0x4c], edi
sub ecx, edx
xor ecx, edx
dec esi
sub edx, ebx
shr edx, 0x16
mov edx, 0xc245c135
xor ecx, esi
not esi
inc edx
or esi, ecx
jmp 0x47613e
mov edi, dword [esp + 0x38]
add ebx, edx
sub ecx, edx
mov esi, ecx
xor ecx, ebx
dec edx
xor edx, ebx
and ebx, edx
and ecx, esi
add ecx, edx
xchg ecx, ebx
jmp 0x47461f
inc dword [esp + 0x7c]
sub ebx, edx
or edx, ebx
sub esi, 0xc266fcdf
inc esi
dec edx
bswap ebx
and ecx, ebx
or edx, esi
dec ebx
xor ecx, edx
and ecx, 0xc267d805
sub esi, edx
jmp 0x4742d9
mov dword [esp + 0x4c], 0
mov ecx, esi
mov ecx, ebx
sub ecx, esi
sub ecx, 0xc26aa423
and edx, ebx
add ecx, esi
jmp 0x4766f9
mov dword [esp + 0x4c], edi
not ebx
sub edx, ecx
and ebx, esi
and edx, ebx
ror esi, 0x10
sub esi, edx
mov ebx, ecx
xor ecx, 0xc26d042f
jmp 0x473c68
add dword [esp + 0x4c], eax
bswap ebx
xor ebx, ecx
add ecx, edx
add edx, esi
xor ebx, esi
and ecx, 0xc270f3dd
ror ebx, 2
xor ebx, esi
mov edx, ecx
sub edx, ecx
jmp 0x472d8f
mov edi, dword [esp + 0x38]
sub ebx, esi
xor ebx, ecx
xor edx, 0xc2773aab
and edx, 0xc27755b9
jmp 0x474c0e
mov edi, dword [edi]
inc ecx
or esi, ebx
add ebx, edx
bswap esi
not edx
inc ecx
or ecx, 0xc2805725
and ecx, ebx
ror ebx, 0x11
add ecx, ebx
shl ecx, 0x10
not ecx
xor esi, 0xc280fc03
shl ecx, 0xd
jmp 0x4744c3
add edi, dword [esp + 0x38]
xor esi, ebx
xchg ebx, esi
or esi, 0xc285d095
ror ebx, 0xd
xor edx, esi
xor edx, ecx
not edx
xor esi, ecx
or esi, edx
dec edx
ror ecx, 0x14
shr ebx, 0x13
jmp 0x47443f
mov dword [esp + 0x10], edi
xor ecx, edx
or ecx, edx
and edx, ecx
and esi, edx
inc esi
xchg esi, edx
or edx, 0xc2a5aa7f
sub edx, 0xc2a5c6d9
inc edx
mov edx, esi
jmp 0x4767bf
mov edi, dword [edi]
sub ecx, edx
add esi, edx
xchg ecx, edx
and ebx, esi
or edx, ecx
bswap esi
rol ebx, 0x17
mov esi, edx
jmp 0x476e2e
mov edi, 0x30
add ebx, edx
bswap esi
xor ebx, ecx
inc esi
or esi, 0xc2ac0305
xor ecx, esi
add esi, ebx
shr ebx, 2
jmp 0x472bc8
add edi, dword [esp + 0x38]
xor ecx, esi
xchg esi, ecx
and ebx, ecx
not esi
xor esi, edx
and edx, ecx
and esi, ecx
add ecx, 0xc2bfcec5
sub esi, ecx
add ecx, edx
and esi, ebx
or ebx, edx
jmp 0x472e7b
ret
mov edi, dword [esp + 4]
xchg ecx, edx
not esi
sub edx, ebx
and ecx, edx
jmp 0x475504
xor al, byte [edi]
xchg edx, esi
sub ecx, 0xc2d32d59
mov edx, 0xc2d3481d
sub ecx, edx
and ebx, esi
xor ebx, 0xc2d39635
and esi, ebx
mov ebx, edx
add edx, 0xc2d3e713
xchg ecx, ebx
add edx, ecx
xchg ecx, ebx
jmp 0x474ec8
pop edi
add ebx, 0xc2de59fd
nop
or edx, ecx
ror ecx, 0xf
or ecx, esi
bswap ecx
and ebx, edx
and ecx, esi
ror esi, 0x1d
and esi, 0xc2df4e47
jmp 0x474592
add edi, 0xc
mov ecx, edx
mov ebx, esi
or ecx, ebx
xchg ebx, esi
add esi, ecx
sub ebx, 0xc2e0a421
neg ecx
mov edx, esi
mov ecx, esi
mov ecx, ebx
add esi, 0xc2e1290d
xchg esi, ebx
jmp 0x474e9b
mov edi, dword [esp + 0x38]
rol ebx, 0x1f
xor ebx, 0xc2e1831b
add ecx, esi
inc ebx
xor ebx, ecx
mov ecx, esi
jmp 0x474cb3
add esp, 0xa4
xor ebx, esi
add esi, 0xc2e3c151
sub esi, ebx
add ecx, ebx
sub edx, ebx
add ebx, ecx
rol esi, 9
add esi, 0xc2e45db5
sub edx, esi
xchg ebx, esi
or esi, 0xc2e4b137
ror ebx, 0xc
jmp 0x476a6f
mov dword [esp + 0x7c], eax
and esi, edx
xchg esi, ecx
shl ebx, 4
xchg esi, edx
or edx, 0xc2e60eaf
rol esi, 7
add esi, 0xc2e645f3
xchg edx, ebx
and edx, esi
add esi, 0xc2e698a5
sub esi, ebx
ror ecx, 0x16
xor edx, 0xc2e6e983
shr edx, 0x16
jmp 0x474798
add edi, 0xc
xor ebx, 0xc2eb6a67
and esi, ecx
dec esi
ror edx, 4
mov ebx, esi
or ebx, ecx
mov ecx, edx
mov ebx, esi
or ecx, ebx
xchg ebx, esi
add esi, ecx
sub ecx, ebx
jmp 0x476788
mov edi, dword [esp + 0x4c]
shr ebx, 5
mov ebx, 0xc2ee5eb1
neg esi
add esi, edx
xchg ecx, esi
xor ecx, edx
xor ebx, ecx
and esi, ecx
and ecx, ebx
mov edx, 0xc2ef35ff
jmp 0x47314d
movzx edi, word [edi]
rol ebx, 0x15
and esi, ebx
mov ebx, edx
add edx, 0xc2f79613
xchg ecx, ebx
inc edx
or ecx, esi
bswap ecx
or edx, ebx
and esi, edx
jmp 0x475268
mov dword [esp + 4], 0
xchg edx, ecx
sub edx, esi
bswap edx
sub esi, edx
nop
and ecx, edx
neg esi
xchg ebx, ecx
add esi, ecx
mov ebx, edx
jmp 0x473d74
mov edi, dword [edi]
xor edx, ecx
xor edx, ebx
or ebx, esi
and ecx, esi
jmp 0x476007
sub esp, 0xa4
and edx, ebx
inc esi
and ebx, edx
rol esi, 0xb
or ebx, ecx
not ecx
inc ebx
shr esi, 0x19
xchg ecx, esi
mov esi, ecx
bswap ebx
dec esi
xor edx, ecx
ror ecx, 4
jmp 0x4736ea