Function at 0x475b65
Capabilities:
Encrypt data using chaskey

Disassembly:
sub dword [esp + 0x44], 8
mov edx, ecx
xchg edx, ecx
or edx, 0xca2fe2ab
ror edi, 2
xor edi, esi
xchg edi, esi
ror edx, 1
add edx, 0xca310b97
and edi, edx
shl edx, 0xe
jmp 0x475493
mov ebx, dword [esp + 0x44]
shl esi, 9
add ecx, 0xca3787dd
mov edi, esi
add esi, ecx
add ecx, 0xca382cc7
and ecx, edx
xor ecx, edi
nop
neg ecx
jmp 0x477d3d
mov ebx, 0x30
and edx, edi
xchg ecx, edi
xchg edx, ecx
ror edx, 3
add edi, ecx
and ecx, edx
jmp 0x475891
add ebx, dword [esp + 0x2c]
sub ecx, 0xca4357cf
add edi, edx
mov edx, 0xca43c57b
not esi
or edi, ecx
add edi, ecx
xchg edx, edi
or edx, esi
mov edi, ecx
jmp 0x476735
ret
add dword [esp + 0x44], 4
shl esi, 0x14
or esi, edx
and ecx, edx
xor edi, esi
xor esi, ecx
add edi, ecx
ror esi, 0xb
xor esi, edi
not ecx
xor esi, edx
bswap edi
shr esi, 7
sub ecx, 0xca5d4778
xchg ecx, edi
jmp 0x475c45
mov ebx, dword [ebx]
add edx, esi
inc edx
and esi, ecx
xchg esi, edi
dec esi
sub esi, edx
xor edx, 0xca662cf3
shl edx, 2
jmp 0x4764d7
jne 0x478048
xor ecx, 0xca66cddc
or ecx, 0xca671ba4
shr esi, 3
mov edi, 0xca6797ae
xchg edx, esi
sub ecx, edi
or ecx, edx
dec edx
shl edx, 0x1a
jmp 0x477155
add ebx, 0xc
add edi, ecx
neg edi
shr ecx, 0x16
or esi, 0xca75e2bb
rol edi, 0xc
mov edi, esi
xor ecx, esi
jmp 0x4758ee
mov ebx, dword [esp + 0x2c]
or edx, esi
xchg ecx, edx
or edi, ecx
xor edi, edx
or edx, ecx
sub esi, edi
shr ecx, 2
jmp 0x476e7f
add ebx, 0x3c
xor esi, edx
sub ecx, esi
or esi, ecx
or esi, edi
sub edi, edx
and esi, 0xca7cbce2
ror esi, 0x1b
not ecx
rol esi, 5
sub esi, 0xca7dee37
and esi, edx
jmp 0x475e51
mov ebx, dword fs:[ebx]
rol edi, 7
nop
ror ecx, 0x1d
sub ecx, edi
or edi, esi
xor edi, ecx
mov edx, esi
or edi, ecx
jmp 0x47580e
mov ebx, dword [ebx]
sub edi, 0xca89c27b
xchg edx, esi
and esi, 0xca8a5060
sub esi, ecx
xor edx, 0xca8adef6
add edi, ecx
or edx, ecx
mov esi, ecx
xchg ecx, edi
jmp 0x47600a
mov dword [esp + 0x6c], 0
or ecx, edx
sub ecx, edx
mov edi, 0xca9ce305
or edi, esi
jmp 0x476230
mov dword [esp + 0x6c], ebx
sub ecx, 0xcaa7bb71
xor edi, esi
and esi, ecx
sub ecx, edi
or esi, edx
and esi, edx
mov edx, edi
and edi, 0xcaa97789
xchg esi, ecx
sub ecx, 0xcaa9f4e4
xchg edx, ecx
or edx, ecx
jmp 0x477648
inc ebx
and edi, esi
or ecx, edx
mov edx, edi
dec edi
xchg edx, ecx
add edi, ecx
or edx, edi
xchg ecx, edi
mov esi, edi
shr esi, 0xb
shr ecx, 1
mov edx, ecx
sub esi, ecx
jmp 0x475b9e
mov ebx, dword [ebx]
mov edi, ecx
mov edi, 0xcab34b3d
or esi, 0xcab39c17
mov edx, esi
jmp 0x47657e
sub esp, 0xb0
xor ecx, esi
mov edi, esi
jmp 0x47605a
add ebx, dword [esp + 0x90]
mov edx, esi
shr ecx, 2
shr ecx, 0x19
xor edx, ecx
xor edi, esi
or esi, 0xcab92bf9
not edi
and edx, 0xcab9baa9
or ecx, edx
xchg esi, ecx
jmp 0x477dd8
cmp byte [ebx], 0
jmp 0x47574d
mov ebx, dword [ebx]
mov edi, edx
or ecx, edx
mov edi, 0xcac0c889
dec edx
sub esi, edx
not ecx
sub edi, 0xcac1d52a
mov ecx, edx
xor ecx, 0xcac250c9
jmp 0x476c87
mov ebx, dword [esp + 0x44]
dec esi
add esi, edi
or esi, edi
xchg edx, esi
sub ecx, esi
dec edi
xchg edi, ecx
rol ecx, 0x1d
inc edx
and edi, 0xcac9294a
and edx, 0xcac96825
neg edi
inc edi
sub edi, ecx
or esi, edi
jmp 0x475be7
mov dword [esp + 0x44], 0
add edi, edx
and esi, edx
mov edi, ecx
and esi, ecx
add edi, esi
sub edi, ecx
shl ecx, 0xd
jmp 0x4763a7
mov ebx, dword [ebx]
mov edi, ecx
dec edx
and esi, ecx
xchg ecx, edx
and esi, ecx
not esi
jmp 0x4763d8
add ebx, 0xc
sub esi, 0xcb0bd5f2
sub esi, 0xcb0c13b5
xor edx, ecx
sub edi, edx
mov edx, edi
add edx, esi
and ecx, esi
or esi, 0xcb0d8bd7
or esi, edx
xchg edi, esi
and ecx, edi
jmp 0x476936
mov dword [esp + 0x90], 0
add edx, esi
xchg edx, esi
sub edi, ecx
not edi
sub esi, ecx
jmp 0x4759e8
mov ebx, dword [ebx]
mov edx, ecx
sub esi, ecx
dec edx
xchg edi, esi
sub edx, ecx
add edi, ecx
xor ecx, edi
xchg edx, esi
or ecx, edi
jmp 0x476b19
xor eax, eax
sub esi, ecx
and edi, esi
mov ecx, esi
and edx, 0xcb238afa
dec ecx
dec edx
xchg esi, edx
jmp 0x478048
mul ebx
inc edi
sub edi, esi
inc esi
and ecx, esi
or edi, ecx
mov edi, edx
rol edx, 0x18
nop
xor edx, edi
add esi, edi
and ecx, edi
and edi, esi
shr edx, 2
and ecx, edx
xor edi, ecx
mov esi, 0xcb2a1c53
jmp 0x477891
mov ebx, dword [ebx]
and edi, esi
neg edx
xchg edi, ecx
xor esi, edi
xchg ecx, esi
add ecx, 0xcb2bafe8
and edx, ecx
xor ecx, edx
shl esi, 7
xor edi, ecx
bswap edx
jmp 0x47752c
mov dword [esp + 0x2c], 0
shr edi, 3
sub ecx, 0xcb3744f2
ror edi, 0x10
or esi, ecx
shr esi, 0xd
mov esi, edi
and edx, ecx
xor esi, ecx
and ecx, edx
xor ecx, edi
jmp 0x475d8b
mov dword [esp + 0x94], ebx
mov esi, 0xcb513ff3
sub edx, esi
shl esi, 1
xchg edx, ecx
xor esi, edi
xchg edi, ecx
xor ecx, 0xcb5291fd
sub esi, edx
inc ecx
mov esi, edi
shr ecx, 0x16
inc ecx
shr ecx, 4
sub ecx, edx
inc edx
jmp 0x47551d
mov dword [esp + 0x44], ebx
add edx, ecx
xchg ecx, edx
and edi, 0xcb552052
xchg esi, edi
and edx, 0xcb55a170
jmp 0x47771f
add ebx, dword [esp + 0x2c]
mov esi, 0xcb64a795
and esi, edx
mov edi, esi
bswap edx
shr edi, 0x1c
xor edx, edi
dec edi
add esi, edi
bswap esi
add esi, edx
bswap esi
nop
jmp 0x476998
mov ebx, dword [esp + 0x44]
xor esi, ecx
xor edi, edx
add esi, edi
mov ecx, esi
add edx, esi
mov edx, 0xcb719047
jmp 0x476110
add ebx, 0x18
or edi, edx
or edi, esi
xchg ecx, esi
ror esi, 0xe
inc ecx
or edx, ecx
and esi, 0xcb735069
dec esi
dec esi
sub ecx, esi
xchg esi, edx
rol esi, 8
or esi, edx
jmp 0x4768e8
cmp eax, dword [esp + 0x94]
jmp 0x477633
add ebx, dword [esp + 0x2c]
sub edi, ecx
or edi, ecx
sub edi, 0xcb808b72
xchg ecx, esi
shr edx, 0x1a
xchg edx, esi
or ecx, edx
xor edx, esi
jmp 0x4767b0
add dword [esp + 0x44], 0x20
xor edi, ecx
or esi, 0xcb838987
jmp 0x4770d3
mov ebx, dword [esp + 0x2c]
shr esi, 0x1b
xor edi, esi
ror edx, 0xb
sub edx, 0xcb8e036f
sub esi, 0xcb8e41eb
dec edx
ror ecx, 0xf
xchg edx, ecx
xor esi, ecx
sub ecx, esi
and edx, ecx
jmp 0x477801
mov dword [esp + 0x44], ebx
rol edi, 0xd
inc edx
ror edx, 0x1d
add ecx, edi
xchg ecx, edx
not edi
sub esi, 0xcb9186fd
mov edx, edi
shr edi, 0x18
mov edi, ecx
add esi, edi
jmp 0x477731
push ebx
mov edx, esi
inc edx
xor ecx, edi
mov ecx, 0xcb99aca5
or edx, ecx
mov edx, edi
mov edx, 0xcb9a70b8
jmp 0x476142
mov ebx, dword [ebx]
shr edx, 0xe
xor ecx, 0xcbb14b1e
xor ecx, esi
or edx, esi
mov ecx, esi
dec edi
and ecx, edx
and edx, ecx
xor edi, edx
bswap edx
dec edi
jmp 0x477410
mov ebx, dword [ebx]
xor ecx, edx
xchg edi, edx
not esi
mov esi, edx
bswap edx
shl esi, 0x14
xor edi, edx
add edi, ecx
xor ecx, edi
jmp 0x477337
mov dword [esp + 0x6c], ebx
xor ecx, edx
mov edx, edi
rol edx, 8
xor edx, ecx
xor esi, edx
jmp 0x477708
add ebx, dword [esp + 0x2c]
shl ecx, 5
add esi, 0xcbdca3d0
mov ecx, esi
not esi
mov esi, edx
mov ecx, edi
rol ecx, 0x19
or esi, edx
and edi, edx
jmp 0x4770a9
add dword [esp + 0x6c], 4
mov esi, 0xcbdeb5e2
or ecx, 0xcbdef598
or ecx, esi
bswap edx
or edi, esi
xchg esi, edx
mov esi, edi
mov edi, ecx
or edi, 0xcbe0b475
not edi
not ecx
xor edx, esi
sub esi, 0xcbe1b079
jmp 0x47755a
add dword [esp + 0x44], eax
mov ecx, 0xcbe789ee
dec edi
xchg ecx, edx
xor ecx, edi
jmp 0x476563
movzx ebx, word [ebx]
dec ecx
shl edi, 0xd
xor esi, ecx
or edi, edx
and edi, ecx
mov esi, edi
sub edx, edi
or esi, edx
and esi, ecx
mov ecx, esi
mov esi, 0xcbee33e6
jmp 0x4782bd
add ebx, dword [esp + 0x2c]
xor esi, ecx
xor ecx, 0xcbf62845
sub esi, 0xcbf6673f
or edx, edi
or esi, 0xcbf6e31f
and esi, edi
xchg edi, edx
add edx, edi
xchg edx, edi
jmp 0x475a96
add dword [esp + 0x44], ebx
sub edi, 0xcc19854d
add edi, edx
and edi, 0xcc19fea4
xchg esi, edi
neg ecx
and edx, ecx
xchg edi, ecx
sub ecx, 0xcc1b3f24
rol edi, 0x16
sub edi, 0xcc1bbcc3
jmp 0x476671
add esp, 0xb0
or edi, esi
add esi, 0xcc9d06d8
xor edi, 0xcc9d4542
add edi, edx
add ecx, 0xcc9dd14b
inc ecx
sub edx, esi
ror esi, 0x1a
rol esi, 0x1b
jmp 0x475581
mov ebx, dword [esp + 0x44]
xor ecx, esi
xor ecx, edi
jmp 0x475733
mov ebx, dword [esp + 0x2c]
mov edi, esi
xchg edx, edi
not esi
xchg edi, esi
mov edx, edi
mov ecx, edx
mov edx, ecx
xchg edi, ecx
or edx, edi
or edx, ecx
inc edx
jmp 0x475845
pop ebx
rol edx, 2
add esi, edi
inc edx
and esi, edi
not edx
shr edi, 0x14
or esi, ecx
xor edi, esi
ror edi, 0xb
xchg edi, esi
mov edi, esi
sub ecx, edi
jmp 0x4765ed
mov ebx, dword [esp + 0x90]
dec esi
xor edx, 0xccc38080
mov ecx, edi
bswap ecx
and edi, ecx
add esi, edx
neg edi
mov esi, edx
sub edx, ecx
jmp 0x47616e
mov ebx, dword [ebx]
or ecx, edi
bswap esi
or edi, edx
xchg edi, edx
and edi, edx
sub esi, edi
or ecx, esi
jmp 0x475b29
mov dword [esp + 0x2c], ebx
neg esi
not ecx
add edi, esi
and esi, ecx
and ecx, 0xccd886a5
add esi, ecx
or edi, ecx
jmp 0x4770e3
mov dword [esp + 0x44], ebx
and edi, edx
xor ecx, 0xccebaa19
xchg esi, edi
mov ecx, esi
add edi, 0xccec5e70
sub edi, 0xccecac4a
and ecx, edx
xchg esi, edi
or esi, 0xcced6222
jmp 0x47582a
mov ebx, dword [esp + 0x6c]
sub edi, esi
or edx, esi
sub edx, ecx
and esi, 0xccee676f
xor edx, 0xcceea578
xchg edi, edx
xor ecx, 0xccef201d
add edi, edx
xor esi, 0xccefa8ab
ror ecx, 2
xchg ecx, edi
shr ecx, 0x1e
xchg edx, ecx
neg edx
jmp 0x477e50
jne 0x477708
or esi, 0xccfca64e
and edx, edi
xor esi, edx
jmp 0x47569f
mov eax, 2
xor ecx, edi
or edi, ecx
add ecx, edx
sub edx, ecx
or ecx, 0xccfe738f
xchg esi, ecx
and edx, edi
xor edi, edx
xor edx, edi
xchg edi, ecx
add esi, edi
jmp 0x4772f5
inc dword [esp + 0x90]
rol edi, 4
or ecx, edx
xchg ecx, edi
xchg ecx, edi
not edx
jmp 0x476b3d
add dword [esp + 0x44], 0x78
add ecx, esi
inc edx
or ecx, edi
jmp 0x476709
mov ebx, dword [esp + 0x6c]
and esi, edx
and esi, edi
bswap ecx
mov edx, ecx
mov edx, edi
add edx, esi
nop
mov ecx, edx
bswap esi
sub edi, ecx
xchg ecx, edi
jmp 0x475b74
add ebx, dword [esp + 0x44]
xchg edi, edx
and edi, edx
bswap esi
rol edx, 0x15
xor edi, edx
mov ecx, edx
mov edx, ecx
bswap edx
jmp 0x476197
mov dword [esp + 0x90], eax
bswap esi
or edi, 0xcd272e97
xchg esi, edi
sub edx, edi
and edx, esi
xchg edx, esi
xchg ecx, edx
xor edx, 0xcd28b22b
sub edi, 0xcd28f285
sub edi, 0xcd2931fd
rol edi, 0x18
neg edx
xor ecx, esi
jmp 0x475411
rol eax, 8
xor ecx, edx
and esi, edi
add edx, 0xcd405e72
xor edi, ecx
xor esi, ecx
mov ecx, esi
xchg ecx, edi
inc esi
ror edi, 0x13
mov edx, 0xcd422322
dec edx
or edx, esi
rol edi, 0x18
sub edx, edi
jmp 0x475af1
mov ebx, dword [ebx]
add ecx, 0xcd7f73b2
xchg ecx, esi
or esi, 0xcd8111f6
sub edx, edi
inc edi
sub edx, ecx
jmp 0x47555c
mov eax, 4
sub esi, edi
bswap ecx
xor ecx, edx
xor esi, 0xcd90cfb3
and esi, edi
shr edi, 4
jmp 0x476c00
mov ebx, dword [ebx]
or ecx, edi
mov esi, ecx
sub edx, ecx
sub edi, 0xcd9a7a2b
bswap edx
xchg edi, ecx
jmp 0x476640
xor al, byte [ebx]
inc edi
sub ecx, 0xcdc23f14
xor edi, ecx
sub ecx, 0xcdc2bc02
add edx, esi
sub ecx, 0xcdc33746
or ecx, edi
inc esi
shl esi, 4
bswap edi
mov esi, edi
xor ecx, esi
jmp 0x4779f3
mul ebx
inc ecx
xor edx, esi
xor ecx, 0xced8fab8
neg edx
shr edx, 0x12
add ecx, edx
add edi, ecx
and ecx, 0xceda2bd7
jmp 0x476bbf