Function at 0x473b97
Capabilities:
Encrypt data using chaskey

Disassembly:
mul ecx
shl ebx, 8
neg ebx
xchg esi, edx
ror ebx, 0xd
and edi, edx
mov edx, ebx
xor esi, ebx
add edi, ebx
shl edx, 0x1f
mov edx, edi
and esi, ebx
xor ebx, 0x910b3a6a
jmp 0x4735f7
mov ecx, 0x30
sub edi, ebx
mov ebx, edi
and esi, edx
sub edx, ebx
sub ebx, edx
mov edx, ebx
dec edx
and esi, edx
mov ebx, 0x910ee95b
xchg edx, ebx
add edx, edi
sub esi, edi
jmp 0x473251
push ecx
mov ebx, edx
sub esi, 0x91333f6a
xchg esi, edi
mov edi, ebx
dec edi
and edx, 0x91342d29
jmp 0x473161
jne 0x471705
mov esi, edx
bswap ebx
rol ebx, 0x1f
xchg esi, ebx
mov edi, ebx
or esi, ebx
bswap ebx
or esi, ebx
jmp 0x4729d3
mov ecx, dword [ecx]
xchg edi, ebx
add esi, 0x916dd590
sub edx, edi
and ebx, esi
xchg edx, edi
sub esi, edx
sub ebx, 0x916eff74
mov edx, esi
sub edx, edi
jmp 0x473470
sub dword [esp + 4], 8
mov esi, edx
ror edi, 0xb
mov edi, ebx
neg ebx
xchg esi, edx
and edx, 0x917107d6
xchg ebx, esi
or edi, edx
shr edx, 9
jmp 0x4731b2
mov ecx, dword [esp + 0x6c]
inc esi
or esi, 0x9179ace6
inc edx
xor edi, esi
or ebx, 0x917a559c
and ebx, esi
xor ebx, esi
jmp 0x4737ac
mov eax, 4
and esi, edi
and edx, ebx
xchg edi, esi
neg edx
and edx, esi
or ebx, esi
neg edx
or edi, ebx
sub edi, esi
add edx, 0x917d0b36
xor ebx, 0x917d44d6
or ebx, 0x917d7c7a
add esi, edi
jmp 0x4737fc
add ecx, dword [esp + 0x6c]
and edi, edx
or edx, esi
or esi, 0x917e791d
and edx, edi
and esi, edi
and ebx, 0x917f1d62
xchg edi, esi
xchg ebx, esi
jmp 0x472735
add ecx, 0xc
xor edx, ebx
xor ebx, 0x918da76d
xor esi, edx
nop
jmp 0x471aae
add dword [esp + 4], ecx
add esi, edi
xor ebx, 0x918ea867
not ebx
and ebx, 0x918f1a2a
bswap edx
jmp 0x473100
mov dword [esp + 0x6c], ecx
xchg ebx, esi
xchg edx, edi
sub ebx, edx
or ebx, esi
rol edi, 0xe
xor edi, 0x919e700e
add edx, edi
add esi, edi
jmp 0x471a13
add esp, 0xc8
shl edi, 7
mov esi, edi
bswap edx
and ebx, edi
not esi
add edi, edx
and edx, ebx
shr edi, 0x1b
jmp 0x4731d3
mov dword [esp + 0x40], 0
sub edi, esi
mov ebx, edi
not ebx
sub ebx, edi
xor esi, edx
or edi, ebx
mov esi, edi
and edi, 0x91c89ed4
jmp 0x471e84
cmp eax, dword [esp + 0xb0]
jmp 0x470d53
add ecx, 0xc
sub ebx, 0x91cee1d7
dec edi
neg edi
and ebx, edx
bswap ebx
rol esi, 0xe
and esi, ebx
jmp 0x471b94
mov eax, 2
sub esi, 0x91dd6da0
sub esi, 0x91dda507
add edi, edx
and edx, ebx
or esi, edi
add edi, ebx
not edi
dec edx
shl edx, 0x10
jmp 0x472072
inc dword [esp + 0x40]
or esi, ebx
or esi, ebx
xor esi, edx
inc edx
mov ebx, 0x91e9ea1c
shr edi, 0x1a
and edi, esi
ror edx, 0x14
or edi, 0x91ead978
shr edi, 8
and ebx, esi
xor esi, edi
jmp 0x4730bb
mov ecx, dword [esp + 4]
and edi, edx
add edx, ebx
and esi, edi
ror esi, 5
neg edx
jmp 0x473942
add ecx, dword [esp + 0x40]
add edi, esi
sub edx, 0x91f5a9d2
not edx
xchg edi, edx
add ebx, 0x91f652aa
shr edi, 0xd
mov edi, 0x91f6d2e4
bswap edi
jmp 0x471047
mov ecx, dword [ecx]
shl ebx, 0x1c
xor esi, edi
neg ebx
or edi, ebx
sub edx, ebx
shl edx, 0x11
jmp 0x4725e5
add ecx, dword [esp + 0x6c]
not esi
add edx, edi
or edi, edx
xor ebx, 0x93cd0365
xor edx, ebx
xor edi, 0x93ce5eef
sub edi, ebx
jmp 0x4739e3
mov ecx, dword [esp + 0x6c]
shl ebx, 0x19
neg edx
and edx, ebx
sub esi, edi
xor esi, ebx
sub edi, edx
sub ebx, edx
sub edi, edx
add ebx, edi
xchg edi, edx
shl ebx, 0x1e
or ebx, esi
not edx
mov edi, edx
xchg esi, ebx
sub edx, edi
jmp 0x47204b
mov ecx, dword [ecx]
or ebx, 0x93f7dbcc
or edi, 0x93f889cc
mov edx, ebx
ror esi, 0x19
xchg ebx, esi
and ebx, esi
sub edx, edi
jmp 0x470f8c
mov ecx, dword [ecx]
shl ebx, 0xc
sub edi, edx
sub esi, edx
rol edi, 0x1c
rol edi, 8
xor ebx, edi
sub esi, 0x9405a929
shr edx, 6
xor esi, ebx
sub ebx, 0x9407df2e
xor edi, ebx
jmp 0x471e11
mov ecx, dword [ecx]
dec esi
and edx, ebx
sub edi, esi
and esi, edi
rol edx, 0x19
add edx, edi
not ebx
sub ebx, esi
rol edx, 7
xchg esi, ebx
xor edi, ebx
and edx, esi
xchg edx, edi
jmp 0x47116e
mov ecx, dword [ecx]
ror edx, 9
xor ebx, 0x943144c2
neg edx
xchg edx, edi
xchg ebx, edx
add edx, edi
or esi, edi
rol edi, 5
jmp 0x4719cb
add ecx, dword [esp + 0x6c]
xor esi, edx
sub esi, edx
or edi, edx
or edx, 0x9491558d
xchg ebx, esi
neg esi
jmp 0x470c3d
add ecx, dword [esp + 0x6c]
rol ebx, 0x11
neg edx
or edi, edx
or edx, edi
xor esi, edi
mov esi, 0x949987fd
and ebx, 0x9499f929
xchg esi, ebx
or edx, esi
add edi, ebx
jmp 0x4713b4
add ecx, dword [esp + 0x6c]
sub ebx, edx
and edi, ebx
or edx, esi
mov edx, edi
xor edi, edx
or ebx, edx
and edx, 0x94a2dc0e
ror edi, 7
jmp 0x4729e4
mov dword [esp + 0x7c], 0
mov esi, edi
add esi, edi
sub ebx, esi
and esi, ebx
or ebx, esi
xor edi, esi
neg edx
shl edi, 0xa
jmp 0x472875
add ecx, 0x18
xchg ebx, esi
ror esi, 0xb
and edi, 0x94d09b61
mov esi, edx
shl edx, 0xc
rol esi, 0x15
mov edi, esi
shl esi, 0x17
or edi, edx
jmp 0x47357d
add ecx, 0x3c
bswap edi
and esi, 0x94eac0a7
or edi, ebx
or edi, esi
mov edx, esi
add edx, ebx
mov esi, ebx
sub ebx, edi
xor edx, esi
add ebx, 0x94ee51c1
nop
xor esi, edx
jmp 0x4736ce
mov ecx, dword [esp + 0x40]
and edx, 0x94efd31a
and edi, 0x94f0457a
xor ebx, 0x94f0b98a
xchg esi, edx
mov ebx, 0x94f19b66
rol ebx, 0x11
mov edi, edx
shl esi, 0x1a
xor esi, ebx
and edi, edx
and edi, 0x94f45de7
or edi, 0x94f4d019
jmp 0x4709c1
xor al, byte [ecx]
rol ebx, 0xa
or esi, edi
inc edx
mov edx, esi
or ebx, edi
jmp 0x472e0d
mov ecx, dword [esp + 0x7c]
or ebx, esi
mov ebx, edx
sub edi, ebx
or edx, 0x95399ddc
add esi, edx
ror ebx, 0x1d
xor edi, 0x953af1ee
and edi, 0x953b64ad
shr esi, 0x1c
jmp 0x4717c8
mov ecx, dword [esp + 4]
dec edx
sub edx, edi
or esi, edx
mov ebx, 0x9595eca4
jmp 0x472845
mov dword [esp + 4], ecx
add edx, esi
bswap esi
mov esi, edi
not edi
xchg edx, edi
or edi, edx
mov edx, ebx
jmp 0x4738a2
add dword [esp + 4], 0x78
and edx, edi
sub ebx, edi
sub esi, 0x95c020a1
not esi
shr edx, 6
and ebx, edx
rol edi, 0x19
jmp 0x471027
mov dword [esp + 0x7c], ecx
and ebx, esi
mov esi, edi
neg edx
mov edx, ebx
shl edi, 0xb
and esi, edx
shr edx, 0x1a
jmp 0x471705
mov ecx, dword [ecx]
or edi, 0x95f0ce66
and edi, 0x95f141f1
xor edx, ebx
add esi, edx
xor ebx, 0x95f2afda
and ebx, edx
sub edi, esi
inc edi
jmp 0x471dc9
mov dword [esp + 0x6c], 0
xchg ebx, edi
not ebx
rol esi, 0xd
xor edi, 0x95f71757
and edx, 0x95f78977
mov edx, ebx
and esi, ebx
mov ebx, esi
sub edi, edx
shr edi, 5
sub esi, 0x95fa4358
xor edi, edx
xchg edi, esi
xchg ebx, esi
jmp 0x472d5c
add dword [esp + 4], 4
xchg edi, edx
inc esi
dec edi
jmp 0x473aa0
mov dword [esp + 0x7c], ecx
xchg ebx, edx
neg ebx
add ebx, edx
jmp 0x471656
inc ecx
dec esi
dec esi
add edx, 0x9626b6cf
rol edi, 0x18
jmp 0x473a31
mov dword [esp + 4], ecx
nop
xchg esi, edi
shr edx, 0x1d
inc ebx
sub ebx, edi
or edi, esi
add esi, ebx
jmp 0x4726b5
mov dword [esp + 4], 0
and edi, 0x968ca516
xor edi, ebx
or esi, edi
mov edx, ebx
mov ebx, edi
and edi, 0x968e32fb
add edi, 0x968e7f7c
and esi, edi
jmp 0x472fbf
pop ecx
or edi, ebx
add edx, edi
mov edi, esi
mov edx, 0x96934fad
xor esi, ebx
xchg edi, esi
dec ebx
dec edi
sub esi, edx
neg esi
jmp 0x471566
mov ecx, dword [ecx]
xor edx, esi
inc ebx
or esi, 0x969b1f10
and edx, edi
dec edi
mov edi, edx
mov edi, esi
jmp 0x471d92
rol eax, 8
xor ebx, edx
shl edx, 0x1d
and edi, 0x969d6230
or edi, 0x969db00a
sub edi, esi
add edx, esi
xchg ebx, esi
sub edx, ebx
rol ebx, 1
mov esi, ebx
and esi, edx
or ebx, edx
sub edx, edi
or edx, edi
mov ebx, edi
jmp 0x4729f6
mov dword [esp + 0xb0], ecx
or esi, edi
dec ebx
bswap esi
sub edx, 0x96c5b632
jmp 0x4709fb
add dword [esp + 0x7c], 4
or edi, 0x96d9fba6
xchg ebx, edi
mov esi, edi
mov esi, ebx
neg edx
xor ebx, 0x96db8b30
or edi, edx
or esi, edx
dec edi
mov esi, edx
add esi, edi
jmp 0x4739b1
add dword [esp + 4], 0x20
bswap ebx
sub esi, 0x96dfccbb
shl ebx, 1
or ebx, edi
shr edx, 0x16
rol esi, 0x1c
mov edx, ebx
mov ebx, 0x96e1ac72
add edi, esi
jmp 0x471773
xor eax, eax
sub esi, edi
bswap edx
xor ebx, esi
sub edx, edi
mov esi, edi
xor ebx, edi
xchg edi, esi
rol esi, 5
sub ebx, edx
dec edx
jmp 0x472131
mov ecx, dword [esp + 4]
xor edi, edx
dec esi
not esi
sub esi, 0x96ef0836
or esi, edi
or edx, 0x96efa159
sub esi, edx
jmp 0x471bb6
ret
mov ecx, dword fs:[ecx]
xor esi, edi
ror esi, 0x1f
rol esi, 0x16
mov esi, edx
sub edi, 0x96fe6b06
sub edx, esi
xor ebx, edx
jmp 0x471572
add dword [esp + 4], eax
and edx, esi
xchg edi, ebx
not esi
and edi, ebx
ror edx, 0xe
add esi, edx
and edi, edx
mov esi, edi
mov esi, edx
xchg edi, edx
xor esi, edx
add esi, edx
jmp 0x472555
mov ecx, dword [ecx]
add edi, ebx
add edx, 0x972e5aad
not edx
mov edx, 0x972ef640
add edi, 0x972f441f
or edx, ebx
nop
neg edi
dec edx
mov edx, esi
or edx, edi
add edi, 0x973173a9
or ebx, edi
xchg edx, ebx
jmp 0x471f90
mul ecx
or edx, ebx
ror edx, 0x19
sub ebx, edx
and esi, edx
xchg esi, ebx
jmp 0x47344b
mov ecx, dword [ecx]
bswap edi
xor esi, edi
inc ebx
neg esi
mov ebx, 0x9747c304
neg edx
or edx, esi
sub esi, 0x9748abf4
jmp 0x47126f
mov dword [esp + 0x40], eax
sub esi, edx
add ebx, edi
sub esi, 0x97521227
sub edx, esi
mov edx, 0x9752bfdc
add esi, edi
or edi, ebx
and esi, edx
jmp 0x470fad
jne 0x472131
bswap esi
xchg edx, ebx
sub edi, 0x9754a3ad
xor ebx, 0x9754f1f7
neg edi
inc esi
or esi, 0x9755f183
xor ebx, edi
add edx, 0x97568a46
mov esi, ebx
or esi, edi
xor edx, esi
jmp 0x472dac
mov ecx, dword [ecx]
add esi, edx
add esi, ebx
add esi, 0x976421c8
shr esi, 0xd
shr edi, 6
add edx, edi
xchg edx, ebx
sub edi, edx
or ebx, 0x976602f5
add edi, ebx
jmp 0x472b70
add ecx, dword [esp + 4]
neg edi
xor edx, ebx
xor esi, edx
xchg edi, esi
and ebx, edi
shr edi, 0xd
add edi, ebx
mov ebx, edx
or edx, esi
mov edx, ebx
neg edx
neg edi
xor edi, ebx
xor edi, edx
jmp 0x4717f0
movzx ecx, word [ecx]
xor edx, ebx
xchg edi, ebx
add edx, ebx
dec edx
or edi, esi
or edi, edx
shl esi, 0x15
or ebx, esi
xchg ebx, edx
mov edx, 0x97811867
jmp 0x4734d2
mov ecx, dword [esp + 0x6c]
mov edx, 0x978cff3b
mov edi, edx
bswap ebx
mov edi, edx
or edi, esi
xor ebx, 0x978e908f
jmp 0x471181
mov ecx, dword [ecx]
xchg ebx, esi
mov esi, edx
and edi, esi
add ebx, 0x979c488b
and ebx, edx
rol ebx, 0x12
and esi, 0x979d2fd1
xchg ebx, edx
not edx
xor edx, edi
jmp 0x471077
mov ecx, dword [esp + 0x7c]
shr edx, 0xf
ror edi, 6
add edi, edx
xchg esi, ebx
sub edx, ebx
and ebx, edx
jmp 0x472df6
mov dword [esp + 4], ecx
mov ebx, edx
or edx, 0x97a93d83
and edx, edi
or edi, 0x97a9d71b
sub edi, edx
mov edi, ebx
mov edi, edx
xor esi, edi
ror ebx, 0x1c
and edx, edi
and edi, 0x97abfff5
and edi, edx
jmp 0x4722a5
cmp byte [ecx], 0
jmp 0x47361a
mov ecx, dword [esp + 4]
xor ebx, edx
sub edi, ebx
xchg ebx, edi
xchg edi, ebx
xor edx, edi
add ebx, esi
and edi, 0x97baece9
or ebx, edx
not ebx
jmp 0x471ae4
sub esp, 0xc8
xor ebx, edi
and edi, ebx
and edx, esi
jmp 0x4714e1