Function at 0x476b14
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
mov ebx, esi
mov edi, 0x6f286dd
and ebx, ecx
and esi, ecx
and edi, esi
or ecx, 0x6f2eb05
not esi
xor esi, ebx
sub ecx, 0x6f341a1
neg esi
xor edi, ecx
or esi, edi
add ecx, 0x6f3ab2b
and edi, ebx
xor ebx, edi
mov edi, 0x6f3fae5
jmp 0x47597f
mov edx, dword [edx]
bswap ecx
xchg ebx, edi
dec edi
bswap ecx
xor edi, ecx
xor edi, ecx
neg ecx
xor edi, ebx
xor esi, edi
mov ecx, 0x6f5fb4f
jmp 0x475ed0
mov dword [esp + 0x88], edx
xor esi, 0x6f84bd3
add ecx, esi
add edi, 0x6f88271
xor ecx, 0x6f89eef
add esi, 0x6f8b9c7
and edi, ecx
jmp 0x476776
add edx, 0x3c
sub ebx, edi
sub edi, esi
and edi, ebx
sub esi, ecx
or ecx, 0x6f95f29
mov ecx, 0x6f97a3b
jmp 0x477204
mov edx, dword [edx]
xor ecx, esi
or ebx, edi
xor ebx, ecx
and edi, ecx
or ecx, ebx
sub ebx, 0x702a373
ror ebx, 0xf
xor ecx, 0x702df81
add edi, ecx
mov ebx, esi
jmp 0x475730
mov dword [esp + 0x6c], eax
sub edi, ecx
shl esi, 3
and edi, esi
add esi, 0x7049ef9
jmp 0x477aa1
mov edx, dword [edx]
or esi, 0x704c031
not edi
add ecx, ebx
bswap esi
mov ecx, esi
add ebx, 0x7054819
xchg ebx, esi
mov ebx, ecx
sub esi, 0x7067b81
or edi, ecx
jmp 0x4750bf
ret
mov edx, dword [edx]
shl edi, 5
mov edi, ecx
dec ebx
mov edi, ecx
and ebx, ecx
xchg edi, esi
and ecx, ebx
and esi, edi
or ebx, ecx
xor ecx, edi
jmp 0x4775cf
mul edx
xchg esi, edi
xchg esi, ebx
bswap ebx
xchg ecx, ebx
ror ecx, 0xf
xchg esi, ebx
bswap ebx
xchg edi, esi
mov ebx, ecx
mov esi, 0x714a7fb
sub ecx, 0x714c285
xor edi, ecx
add ebx, ecx
or ebx, 0x7150fa9
or ecx, esi
mov ecx, 0x715435d
jmp 0x476b8b
add edx, dword [esp + 0xd0]
mov edi, esi
and ecx, esi
and esi, edi
neg esi
shr ecx, 1
xchg edi, esi
xchg ecx, esi
and esi, 0x7243d13
bswap esi
sub esi, edi
shl ebx, 0xc
shr ecx, 8
jmp 0x476864
add edx, 0xc
not ecx
xor ecx, edi
mov ecx, edi
or ecx, ebx
sub ecx, 0x725ee19
add ebx, esi
jmp 0x476d59
mov edx, dword [esp + 0x38]
xor esi, 0x7262aaf
xchg ebx, ecx
bswap esi
add edi, ecx
xchg ebx, esi
and ebx, edi
rol ebx, 4
and edi, ebx
or ebx, esi
shl ebx, 0x16
jmp 0x4756ec
jne 0x475aac
shr ebx, 0xc
shr esi, 0x17
and esi, ecx
xor esi, 0x72de5b5
xchg ebx, ecx
bswap esi
add esi, 0x72e3a05
shr ebx, 9
jmp 0x476435
mov dword [esp + 0x38], 0
shl esi, 0x1a
xor edi, ebx
neg edi
sub ecx, edi
and esi, ecx
mov edi, 0x7343fb3
sub ecx, 0x7345a5d
xor edi, esi
sub ecx, edi
xchg ecx, edi
or ecx, 0x734c719
xor esi, ecx
jmp 0x476538
add dword [esp + 0x88], 4
xor esi, ecx
or edi, 0x7351f57
or ecx, 0x7353e0b
and ebx, ecx
xchg esi, ebx
xchg ecx, ebx
xchg ecx, ebx
shr ecx, 9
jmp 0x477615
add edx, 0x18
or ecx, 0x736f361
sub edi, esi
rol edi, 0x17
or ebx, ecx
jmp 0x475d2b
mov edx, dword [esp + 0x6c]
xchg ecx, ebx
neg edi
or esi, ebx
shr ecx, 7
and esi, ecx
xor ecx, 0x737f385
bswap esi
xchg ebx, edi
jmp 0x477383
xor al, byte [edx]
and ecx, 0x7402d15
mov ecx, edi
add edi, ecx
xchg ebx, esi
xchg ebx, ecx
bswap esi
sub ebx, 0x740caff
mov edi, esi
shl edi, 0x1b
mov ecx, ebx
shr edi, 0x18
and esi, edi
or ebx, ecx
or ecx, esi
jmp 0x4767e6
cmp eax, dword [esp + 0x40]
jmp 0x475d55
mov edx, dword [esp + 0x88]
inc ecx
or esi, ecx
and ecx, ebx
sub ecx, 0x747ae7d
add ebx, 0x747c955
and edi, esi
xor ecx, 0x7480113
xor esi, ecx
mov ebx, 0x748367f
xor ecx, ebx
jmp 0x4773ed
mov edx, dword [edx]
bswap ecx
xchg esi, ebx
add ebx, edi
and ecx, esi
jmp 0x4761e0
mov edx, dword [edx]
or ecx, 0x7547d35
neg ecx
dec ecx
xchg ebx, edi
xchg ebx, esi
xor edi, ecx
or esi, edi
bswap ecx
or edi, 0x755589b
or esi, ecx
or ecx, 0x7558ce3
mov edi, ecx
jmp 0x47608a
jne 0x476776
sub edi, ebx
sub esi, 0x755e131
not ebx
sub ebx, esi
mov ebx, esi
or esi, edi
xchg edi, ebx
shr edi, 4
jmp 0x4771d4
add edx, dword [esp + 0x38]
xor edi, esi
shr ebx, 0xe
xchg ecx, edi
or ecx, 0x7625bef
or ecx, edi
shr edi, 3
sub ebx, 0x762ae69
bswap ebx
jmp 0x477bf2
mov eax, 4
add ecx, ebx
inc ebx
shl ebx, 0x16
xchg ebx, esi
xor edi, ecx
mov edi, 0x76a2785
sub edi, esi
add esi, ebx
mov ecx, 0x76a78cd
xchg ecx, edi
jmp 0x476dc1
mov dword [esp + 0x38], edx
and edi, 0x76f735b
rol ecx, 9
and ecx, ebx
xchg esi, edi
mov ecx, edi
mov ecx, esi
or ebx, edi
and ebx, esi
add ecx, ebx
sub esi, edi
jmp 0x476400
mov edx, dword [esp + 0x38]
and edi, ebx
xor edi, 0x772b737
sub ecx, ebx
mov ecx, ebx
mov ecx, edi
or ecx, ebx
xor esi, edi
ror ebx, 0x13
or edi, ebx
sub ebx, esi
mov ebx, esi
mov edi, 0x773b7a1
jmp 0x477971
add edx, dword [esp + 0x38]
inc ebx
add edi, 0x7799b6b
or edi, ecx
xchg ebx, ecx
bswap esi
mov esi, ecx
jmp 0x475176
mov edx, dword [esp + 0xd0]
sub ecx, edi
sub ebx, ecx
sub esi, 0x784ffc7
or edi, ecx
sub ebx, edi
mov ebx, edi
xor edi, esi
or edi, ebx
xchg esi, edi
and esi, ebx
nop
rol edi, 0x10
xchg ebx, esi
xchg ebx, esi
xchg edi, ecx
nop
jmp 0x475cf5
mov edx, dword [esp + 0x38]
sub edi, 0x78a5953
add ecx, ebx
or edi, 0x78a8c69
ror ecx, 0xa
xor esi, 0x78ac3d1
mov ecx, 0x78add7d
mov ecx, edi
rol ecx, 0x1b
sub esi, 0x78b30fb
or edi, ecx
jmp 0x47519e
pop edx
xchg ebx, edi
or edi, ecx
bswap edi
xchg ebx, ecx
xchg edi, ebx
ror edi, 7
inc esi
shl edi, 0x1e
mov ecx, ebx
add ecx, 0x78c5f77
jmp 0x475af6
add edx, dword [esp + 0x38]
xor ebx, edi
shr esi, 0x1e
mov esi, ebx
or ecx, esi
dec esi
bswap ebx
jmp 0x476f4a
mov dword [esp + 0xd0], 0
or edi, ecx
xchg ecx, ebx
xchg ecx, ebx
shr ecx, 0x13
add edi, 0x7932903
xor ecx, esi
xchg esi, edi
xchg ecx, edi
dec edi
not esi
xor esi, edi
ror ebx, 0xe
jmp 0x477dbc
mov dword [esp + 0xd0], edx
sub ebx, esi
mov ebx, esi
xor edi, ecx
or esi, edi
xchg edi, ebx
shr edi, 0x1e
ror ebx, 0x12
or ebx, esi
add ebx, edi
xchg edi, ebx
shr edi, 0x1e
mov ebx, 0x79677c3
or edi, 0x7969101
neg edi
jmp 0x4778ef
mov edx, 0x30
and ebx, 0x796cf6b
or ecx, ebx
or esi, ecx
or ecx, 0x7971ca3
shr ebx, 2
and esi, ecx
neg esi
sub esi, ecx
add ecx, ebx
sub esi, edi
sub ecx, 0x797d51f
or edi, ebx
jmp 0x4771b1
mov eax, 2
inc ebx
neg ebx
xor edi, ebx
or esi, ecx
xchg ecx, ebx
or ebx, 0x7a12aa5
and ebx, ecx
sub esi, edi
xchg ecx, edi
mov ecx, esi
or ebx, edi
xchg edi, ecx
jmp 0x475994
mov edx, dword [esp + 0xd0]
and ebx, ecx
xor ecx, ebx
xchg ecx, edi
inc ebx
shl ecx, 0x16
xor edi, esi
xor ecx, ebx
bswap ebx
jmp 0x4753a3
inc dword [esp + 0x6c]
and ecx, 0x7abcee1
and esi, ebx
nop
and ebx, edi
sub edi, ecx
shl esi, 6
add esi, edi
sub ecx, ebx
jmp 0x47593d
rol eax, 8
xchg edi, esi
mov edi, ebx
shr ecx, 0x18
xchg edi, esi
xchg ecx, ebx
neg edi
dec edi
xchg esi, edi
mov ecx, ebx
add ebx, ecx
and ecx, edi
mov ecx, 0x7afbbf5
jmp 0x476ac6
mov edx, dword [edx]
sub ebx, edi
sub ecx, ebx
and ecx, esi
not esi
add ecx, esi
sub esi, edi
or ecx, edi
or edi, ebx
and ecx, edi
shl edi, 3
jmp 0x476a88
mov edx, dword [esp + 0xd0]
and ecx, ebx
mov ecx, edi
or ecx, 0x7c4ec57
mov edi, ebx
and ebx, edi
mov ecx, esi
or ebx, esi
shl ebx, 0x1e
and ebx, edi
sub ebx, 0x7c5a2c3
jmp 0x475113
mov dword [esp + 0xd0], edx
or ebx, ecx
or ecx, esi
xor edi, ebx
xor ebx, esi
and edi, esi
not ebx
or edi, ecx
sub ebx, edi
or esi, ecx
and esi, ebx
and ecx, ebx
add ebx, esi
jmp 0x4760fc
inc edx
or ebx, edi
and ebx, esi
add edi, ecx
xor ebx, esi
jmp 0x477b69
sub esp, 0xf4
add ecx, 0x7cad4d1
ror ecx, 7
mov ecx, ebx
add ebx, ecx
xor edi, esi
and edi, 0x7cb54f3
mov esi, edi
xchg edi, ebx
xchg ebx, edi
and ecx, esi
mov esi, ecx
xor esi, ecx
add edi, 0x7cc0bcf
sub esi, ecx
xor edi, 0x7cc3f1b
xor edi, ebx
jmp 0x477d93
add dword [esp + 0xd0], eax
sub edi, esi
mov esi, edi
mov ecx, 0x7cf9a13
and esi, edi
add ebx, 0x7cfcd29
or ebx, ecx
and ebx, 0x7d001d9
and ecx, edi
xor esi, edi
ror ebx, 0x1b
jmp 0x4766e3
add dword [esp + 0xd0], 0x20
add ecx, esi
and esi, ebx
shr ebx, 0x19
add edi, 0x7d0bda1
or ebx, edi
xchg ebx, ecx
add ecx, edi
xchg esi, edi
bswap ecx
or ebx, edi
or esi, ebx
xchg ecx, ebx
shr ecx, 0xe
and esi, ecx
jmp 0x476358
mov dword [esp + 0xd0], edx
mov edi, esi
mov ebx, edi
add edi, ebx
xor ecx, 0x7d5fd5b
neg ecx
sub esi, ebx
inc ebx
xor ebx, esi
ror edi, 0x1a
sub esi, 0x7d6a067
inc ebx
and edi, ecx
add esi, 0x7d6ee21
add ebx, ecx
jmp 0x475b96
add esp, 0xf4
mov esi, ecx
and ecx, 0x7dd0953
or ecx, edi
add edi, ecx
dec edi
add edi, esi
xor edi, 0x7dd888b
sub esi, ebx
xchg esi, ebx
rol esi, 0x1f
add ebx, 0x7ddf4a9
dec ecx
or edi, ecx
sub ebx, edi
jmp 0x47534f
mov edx, dword [edx]
and esi, 0x7de6307
add edi, esi
mov ecx, edi
add edi, 0x7deaed1
dec edi
or ecx, edi
jmp 0x475328
movzx edx, word [edx]
neg edi
and esi, ebx
mov edi, esi
or ecx, 0x7e30a43
shr ebx, 0xb
xchg edi, ebx
inc esi
xor edi, ecx
jmp 0x4754e5
mov edx, dword [edx]
add ebx, esi
or edi, esi
neg ecx
ror ecx, 6
jmp 0x4764d5
push edx
add ebx, 0x7f04d33
sub esi, 0x7f0682b
xchg ecx, ebx
xor ecx, esi
add esi, 0x7f0b79f
shr ebx, 3
or ebx, edi
or esi, ebx
or ebx, 0x7f12323
mov esi, 0x7f13e4f
jmp 0x4770cd
add edx, dword [esp + 0x38]
xor edi, 0x7fa1e3d
sub ecx, 0x7fa3915
add ebx, esi
xor ecx, 0x7fa6dc5
add ecx, edi
sub ecx, 0x7faa0c3
mov edi, esi
ror ebx, 4
add ebx, ecx
or ebx, 0x7fb0a11
jmp 0x476c35
xor eax, eax
mov esi, ebx
xchg ecx, ebx
xor ecx, esi
add esi, 0x7fc5fb9
or ebx, esi
add ecx, esi
xchg edi, ebx
xchg esi, edi
xor ecx, ebx
xor edi, 0x7fcfe89
nop
xor ebx, 0x7fd35dd
jmp 0x475aac
mov edx, dword [esp + 0xd0]
mov ebx, edi
shr esi, 0x1d
mov ecx, edi
add ebx, edi
xchg esi, ebx
xchg esi, ebx
or edi, esi
nop
inc edi
shl edi, 0x1c
or esi, 0x7fe60b7
neg esi
add esi, edi
sub ecx, 0x7feaf75
jmp 0x4774af
mov edx, dword fs:[edx]
not ecx
inc ecx
shl esi, 8
shr edi, 0xf
mov esi, ebx
or ecx, esi
sub esi, 0x803ad57
rol ebx, 0x1a
neg ecx
ror ecx, 0x1c
jmp 0x4773c0
add dword [esp + 0xd0], 4
and edi, esi
or ecx, ebx
and ebx, edi
xchg ecx, edi
and esi, ebx
mov esi, edi
ror ebx, 8
add ebx, ecx
shr ebx, 0x1b
or edi, 0x80511b9
or esi, ecx
xchg esi, ebx
or edi, esi
rol esi, 7
jmp 0x476a5f
mov edx, dword [edx]
inc ebx
sub edi, esi
or ebx, ecx
bswap esi
and ebx, ecx
xor ecx, esi
add esi, 0x80637ed
and ecx, ebx
mov esi, ecx
or ecx, edi
add esi, ebx
sub ebx, esi
sub edi, esi
and edi, esi
shl esi, 0xc
mov ebx, edi
jmp 0x47658b
mul edx
mov edi, esi
or ecx, 0x812dbd5
sub ecx, esi
xor ebx, edi
add ebx, 0x8132c01
mov edi, ecx
jmp 0x47530f
add edx, 0xc
mov ecx, 0x814b1ef
mov esi, ecx
rol edi, 0x15
xchg ebx, esi
xchg ebx, esi
sub ecx, esi
xchg ecx, ebx
add ecx, 0x8156ac5
xor ebx, esi
add esi, edi
mov ebx, edi
shr ecx, 0x1e
inc ecx
shl ecx, 0xc
jmp 0x4752bf
add edx, dword [esp + 0x6c]
and edi, ebx
shr edi, 0x15
mov esi, ecx
shl edi, 0x1d
or esi, 0x816904b
shr ebx, 0xe
xchg ecx, edi
xor esi, 0x816e0a1
neg ebx
add esi, ebx
mov ebx, ecx
sub ecx, ebx
mov ecx, ebx
xor ecx, edi
rol ecx, 0xc
mov edi, ebx
jmp 0x475fd1
mov edx, dword [edx]
mov edi, ebx
xchg ebx, esi
mov esi, 0x81c7c6d
mov ecx, 0x81c962d
mov esi, ecx
bswap edi
and ebx, esi
xchg ecx, edi
jmp 0x477079
add edx, dword [esp + 0x38]
mov ebx, 0x824d513
mov esi, ebx
rol esi, 0x1d
mov edi, ecx
sub ecx, esi
neg edi
or ebx, ecx
xchg ebx, ecx
jmp 0x476d27
mov edx, dword [esp + 0x88]
shl ebx, 5
sub ecx, esi
mov ecx, esi
bswap ebx
sub ebx, 0x827328b
or ebx, esi
add edi, 0x8276ac3
xor esi, 0x82785ed
mov ebx, esi
ror ebx, 5
sub edi, ebx
xchg esi, ecx
shl ebx, 9
add esi, edi
jmp 0x476ddd
add dword [esp + 0xd0], 0x78
inc edi
or ebx, 0x83c8e9d
or ecx, edi
or edi, ebx
add ecx, ebx
xchg ebx, edi
add edi, ebx
dec esi
or edi, esi
sub ecx, 0x83d5e61
jmp 0x475748
add dword [esp + 0xd0], edx
xchg esi, edi
xchg ecx, edi
and esi, ebx
mov esi, 0x8401e33
xchg edi, ebx
add ecx, esi
jmp 0x476bb7
sub dword [esp + 0xd0], 8
xchg esi, ecx
inc ecx
shr ecx, 0x13
sub esi, edi
or esi, ebx
or edi, ecx
shl ebx, 0x17
add esi, edi
jmp 0x4770f7
cmp byte [edx], 0
jmp 0x475831
mov dword [esp + 0x88], edx
shl esi, 7
mov ecx, edi
add edi, 0x8534a21
xor edi, esi
shr edi, 0x11
mov esi, ecx
rol edi, 0xd
mov edi, esi
sub ecx, edi
xchg ecx, edi
shr esi, 0x18
and ecx, 0x854389f
shl ebx, 0x1e
sub ecx, esi
xchg ebx, edi
and ecx, edi
jmp 0x476674
mov dword [esp + 0x6c], 0
and esi, edi
or ebx, esi
shl edi, 0x1e
mov ecx, ebx
inc ebx
add ecx, esi
bswap edi
not edi
sub edi, 0x860f91f
rol ecx, 4
jmp 0x477e69
mov dword [esp + 0x40], edx
ror edi, 0x19
sub edi, ecx
xor esi, ecx
shl edi, 0x1d
xchg edi, ebx
or ecx, edi
ror edi, 4
add ecx, ebx
sub ebx, ecx
mov ebx, ecx
jmp 0x4765bd
mov dword [esp + 0x88], 0
or esi, edi
xor esi, ebx
inc esi
and ecx, 0x8666e37
or ecx, esi
or esi, edi
jmp 0x475909