Function at 0x47128d
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [ecx]
sub edi, edx
and edx, 0xf4671d3c
shl ebx, 3
xchg edi, edx
xchg edi, ebx
neg edi
jmp 0x4712b1
add ecx, 0xc
shr edi, 0x17
mov edi, 0xf46f3a9c
or ebx, esi
mov edx, 0xf46fb98c
sub edx, ebx
add esi, ebx
sub edi, edx
xor esi, ebx
add edi, esi
or esi, edx
neg esi
xchg edx, esi
jmp 0x472e75
mov ecx, dword [esp + 0xb0]
sub edx, 0xf476ca68
ror esi, 0x1d
nop
add edi, edx
sub esi, edx
mov ebx, esi
shr ebx, 0xc
shl edi, 0x19
jmp 0x472623
jne 0x470cca
add edi, 0xf47bc778
add esi, 0xf47c174c
or edx, ebx
add edx, ebx
jmp 0x4716ca
add ecx, dword [esp + 0xb0]
add edx, 0xf481ece0
add esi, 0xf482384c
neg esi
add ebx, edx
add edx, 0xf482ff2e
or ebx, edx
shr ebx, 7
xchg edx, edi
jmp 0x4716f8
mov dword [esp + 0x40], ecx
add edi, edx
mov esi, edx
xor esi, edx
xor ebx, esi
or ebx, 0xf4852e2c
xor ebx, 0xf4856e44
neg esi
shr edi, 0x17
bswap ebx
and ebx, esi
xchg ebx, edi
add edx, esi
jmp 0x470d52
mov dword [esp + 0x40], ecx
shl esi, 0x1b
xor esi, edx
or edx, 0xf4b12caa
or ebx, 0xf4b16cf8
or edi, edx
xchg edx, ebx
bswap edx
mov edx, edi
jmp 0x470cca
mov ecx, dword [esp + 0xb0]
xchg esi, edx
xchg ebx, edx
or edi, edx
xchg ebx, esi
or edx, esi
and edx, ebx
jmp 0x4729dd
pop ecx
and edx, esi
and edx, 0xf4b6c99a
inc ebx
or esi, 0xf4b758b4
or esi, ebx
or edx, esi
ror ebx, 0xe
inc esi
jmp 0x470df1
inc dword [esp + 0x80]
or edx, 0xf53a1e54
and edi, esi
or edx, 0xf54475b4
ror esi, 6
sub ebx, edi
neg ebx
xor edx, ebx
add ebx, esi
jmp 0x4735be
mov eax, 2
mov edi, esi
dec edi
add edi, esi
add esi, edx
and ebx, 0xf56432bc
xor esi, 0xf56803e6
or ebx, esi
mov ebx, esi
jmp 0x472108
add dword [esp + 0x30], eax
mov edx, edi
mov ebx, edi
mov ebx, edi
shr edx, 3
shl esi, 0xe
sub esi, edx
jmp 0x47204d
mov ecx, dword [ecx]
mov ebx, edi
sub esi, 0xf57e4d76
and ebx, esi
mov edi, 0xf5823ae2
inc edi
shr edi, 6
add edi, ebx
or ebx, edi
jmp 0x472a26
cmp eax, dword [esp + 0x60]
jmp 0x47077d
add dword [esp + 0x30], ecx
sub edi, 0xf5cd1106
rol ebx, 0x1a
shl ebx, 0x19
or ebx, edi
xor esi, edi
xor esi, edx
xor esi, edi
sub esi, edi
dec edi
dec ebx
jmp 0x4717ed
mov eax, 4
bswap ebx
xor edx, ebx
sub ebx, edi
xor edx, edi
mov edx, edi
sub ebx, edi
bswap esi
and edx, 0xf5ea88b2
jmp 0x472c5e
mov ecx, dword [ecx]
shr ebx, 0x14
shr esi, 0xf
and edx, ebx
mov edi, 0xf606808a
add esi, edi
neg esi
bswap edi
xor edx, edi
and esi, 0xf60aabd0
sub edi, esi
jmp 0x472565
sub dword [esp + 0x30], 8
not ebx
mov edx, ebx
and edi, 0xf619a102
shl edx, 0xf
xor esi, ebx
not edx
ror ebx, 0xb
xchg edi, edx
xor ebx, edi
add ebx, esi
jmp 0x4725ab
add ecx, dword [esp + 0x80]
and edx, 0xf6408026
sub esi, edi
add esi, edi
shr esi, 0xe
or edx, ebx
xor edi, esi
rol edx, 1
mov ebx, 0xf6489ac0
jmp 0x471006
sub esp, 0xb8
mov edi, 0xf67c2584
or ebx, 0xf67c6640
xchg esi, edx
and esi, edi
sub edx, ebx
inc edi
add edi, esi
mov edx, esi
or esi, edi
inc esi
jmp 0x4713aa
add ecx, 0x18
xchg edi, ebx
mov esi, edi
shl edx, 0x18
ror edi, 0x19
and esi, 0xf689d74a
rol ebx, 0x1c
sub ebx, edi
xchg edx, esi
add ebx, esi
shl edx, 5
dec edx
add edi, ebx
jmp 0x472fb1
mov dword [esp + 0x80], 0
sub edx, edi
sub edi, edx
or ebx, edx
add ebx, 0xf6be9c70
add edx, 0xf6befbb2
and esi, edi
bswap ebx
dec esi
neg ebx
bswap edi
add edi, 0xf6cc43d2
bswap edi
jmp 0x472457
xor al, byte [ecx]
add edx, edi
xor ebx, edi
not esi
and ebx, edx
jmp 0x472e14
add ecx, dword [esp + 0xb0]
mov edx, 0xf8827a32
add ebx, 0xf882cbd8
xchg edi, ebx
xor edi, 0xf8879746
nop
mov edx, ebx
xchg edx, edi
xor esi, ebx
jmp 0x470a4e
mov ecx, dword [ecx]
sub edx, 0xf896dd4c
sub esi, ebx
xor esi, ebx
add ebx, 0xf89b58bc
dec edx
add ebx, esi
dec edi
not edi
add ebx, edi
xor esi, ebx
jmp 0x471e7a
add dword [esp + 0x30], 4
bswap ebx
shr edi, 5
mov edx, edi
xor ebx, edx
and esi, ebx
add ebx, esi
xchg esi, edi
or esi, 0xf8ab73ec
sub esi, ebx
or edi, ebx
or ebx, edi
or ebx, 0xf8b04028
jmp 0x4726b9
mov dword [esp + 0x30], ecx
dec edx
rol ebx, 0x17
sub esi, edx
mov ebx, 0xf8b972cc
not edi
and edx, 0xf8ba190a
rol edi, 0x13
dec edi
jmp 0x472fcf
add esp, 0xb8
or edx, edi
rol edi, 0x18
add edi, edx
mov esi, edi
not esi
dec esi
neg edx
xchg edx, edi
add esi, edi
mov esi, ebx
jmp 0x472900
add dword [esp + 0x30], 0x20
sub esi, ebx
mov ebx, 0xf917affc
mov edi, edx
xor esi, edi
mov edx, 0xf91c6a5a
inc edx
mov edi, ebx
nop
jmp 0x472c44
push ecx
xor edi, esi
shr ebx, 7
or edi, ebx
ror edx, 0xa
and ebx, esi
xchg ebx, esi
jmp 0x472f1e
mul ecx
add esi, edx
bswap esi
xor ebx, edx
xor edx, edi
sub esi, edi
rol esi, 4
xchg esi, edi
or edx, edi
jmp 0x470db9
mov ecx, dword [ecx]
xchg esi, edi
shr esi, 0x18
and edi, edx
or edx, ebx
or edi, edx
xor ebx, edx
add edi, esi
add ebx, esi
and edi, esi
xchg edi, edx
jmp 0x470650
mov ecx, dword [esp + 0x40]
neg esi
add edi, esi
xchg esi, ebx
and esi, edi
jmp 0x470dd3
inc ecx
and ebx, 0xfa4c7558
add esi, edx
or esi, 0xfa4d60d6
sub edi, edx
dec edx
xchg ebx, edi
and esi, 0xfa5589d4
and edi, ebx
shl esi, 9
or esi, edi
jmp 0x473342
mov ecx, dword [esp + 0x30]
mov edx, edi
xchg esi, ebx
shr edi, 0x1b
mov ebx, 0xfa877fa8
xchg ebx, edx
xor edi, esi
shr esi, 0x10
xor ebx, edx
jmp 0x47340b
mov ecx, dword [esp + 0x80]
xor edx, esi
and ebx, esi
sub edi, ebx
and edi, edx
mov edi, 0xfab53aa0
inc edx
add edx, esi
and edx, ebx
add edx, edi
and esi, 0xfab684a2
mov ebx, 0xfab6c490
ror ebx, 0x1c
and esi, edx
or edx, edi
jmp 0x473066
mov dword [esp + 0x60], ecx
or esi, ebx
inc edx
xchg esi, edx
inc ebx
add esi, edx
and esi, 0xfac535a0
add ebx, edi
neg ebx
shl esi, 0xb
sub edx, edi
jmp 0x472cf2
mov dword [esp + 0xb0], ecx
shl edi, 0xd
or edi, esi
and edx, edi
add edx, 0xfb13fb36
shr ebx, 3
mov ebx, edx
rol edx, 6
or ebx, 0xfb14fbde
jmp 0x470a91
mov ecx, dword [ecx]
mov ebx, edx
ror edi, 0x17
add edi, 0xfb1a1066
xor esi, edx
bswap esi
ror edi, 0x1e
jmp 0x471665
mov ecx, dword [ecx]
and edx, 0xfb55eefa
shl edx, 0x12
and ebx, 0xfb566f84
xchg ebx, esi
xor ebx, edx
sub edi, 0xfb572f22
xchg esi, edi
xchg ebx, edx
jmp 0x472ed0
mov dword [esp + 0x40], 0
sub esi, 0xfb5814ae
add esi, edx
sub edi, edx
sub edi, 0xfb598d60
add edi, edx
xchg esi, ebx
jmp 0x4724cf
mov dword [esp + 0xb0], 0
or esi, ebx
xor ebx, edx
ror esi, 0xf
sub ebx, esi
sub ebx, edx
xor edx, ebx
xor edi, esi
add edi, 0xfbf026a0
jmp 0x4726d4
mov dword [esp + 0x30], ecx
or ebx, 0xfc074726
shl esi, 0xb
or edx, 0xfc07c8be
sub esi, 0xfc081988
and edx, 0xfc085a14
xor ebx, esi
jmp 0x473565
add ecx, dword [esp + 0xb0]
xchg edi, esi
xor edx, edi
neg edi
mov edx, esi
and ebx, edx
xor esi, edx
shl esi, 0x19
xchg edi, esi
jmp 0x471739
mov ecx, dword [esp + 0x30]
xchg edx, ebx
sub edx, edi
add esi, edx
xchg edi, edx
xor ebx, esi
shl ebx, 0xa
jmp 0x473211
mov dword [esp + 0x80], eax
inc ebx
xor esi, edx
shr edi, 3
neg edi
rol edi, 0x15
mov edx, esi
and edi, edx
add edi, ebx
jmp 0x4710f3
add ecx, dword [esp + 0x30]
or ebx, 0xfc21c51a
sub esi, 0xfc221558
xchg edx, edi
dec edi
jmp 0x472a73
mov ecx, dword [esp + 0x30]
dec esi
or esi, edx
neg edx
or edx, 0xfc459faa
xor edi, ebx
add edx, ebx
jmp 0x472433
mov dword [esp + 0x30], 0
and edi, ebx
sub ebx, esi
sub edi, edx
add ebx, esi
jmp 0x472171
ret
add ecx, 0x3c
or esi, edx
bswap edi
mov edx, 0xfcfc8b58
sub esi, edi
xor edi, edx
shr esi, 9
sub edx, 0xfcfd8ae6
sub ebx, esi
bswap edx
dec edx
jmp 0x471098
add ecx, dword [esp + 0xb0]
or edx, esi
and edi, 0xfd011e50
xor edx, esi
and edx, 0xfd01ae38
not edx
shl edx, 0x1b
xor edx, edi
or ebx, edi
jmp 0x47187f
mov ecx, dword [ecx]
and edx, esi
rol edi, 2
xchg ebx, esi
sub esi, edx
xor esi, ebx
and esi, edi
xchg ebx, esi
xchg edi, esi
jmp 0x47310a
jne 0x471532
inc esi
shr edi, 0x13
mov edx, edi
add edi, 0xfd275a2c
ror ebx, 4
and edi, 0xfd27db0e
sub edi, edx
xchg edi, esi
mov esi, edi
xchg edx, edi
jmp 0x470aa9
mov ecx, dword [esp + 0x30]
ror edx, 0x10
and edi, ebx
dec ebx
shl edi, 7
sub edi, esi
shr esi, 0xb
jmp 0x47234c
movzx ecx, word [ecx]
shr edx, 4
shr edi, 0x12
dec ebx
and edx, esi
or esi, ebx
sub esi, edx
sub edx, edi
add edx, esi
sub edx, esi
xor ebx, esi
inc esi
bswap edx
jmp 0x471c14
mov ecx, 0x30
or edx, 0xfd39d496
sub ebx, edi
and esi, 0xfd3a53f4
and edi, ebx
dec ebx
mov ebx, esi
or ebx, 0xfd3b8676
add esi, 0xfd3bf530
xchg edx, esi
shl edx, 4
jmp 0x472d38
mov ecx, dword fs:[ecx]
and esi, ebx
and edx, esi
sub edi, 0xfd403380
xchg esi, ebx
mov edx, 0xfd40b306
add esi, ebx
shl edx, 0x15
neg edx
add edi, esi
xor edx, edi
or ebx, 0xfd4e2496
and esi, ebx
mov edx, ebx
add edx, 0xfd4f61c6
jmp 0x4706c8
rol eax, 8
add esi, 0xfd5c3f22
or edi, ebx
sub ebx, 0xfd5cbdb0
inc esi
xchg esi, edi
shl ebx, 0x15
xor edx, esi
or edx, ebx
shr esi, 0xa
or edi, esi
inc edi
dec edi
xor ebx, esi
mov edx, 0xfd62df74
jmp 0x471f02
mov ecx, dword [ecx]
shr ebx, 0x13
xor esi, edi
and ebx, 0xfe19958a
sub edi, 0xfe19f2a2
or edi, ebx
mov ebx, esi
sub ebx, edx
and esi, 0xfe27c2d0
not edx
ror edx, 0xd
jmp 0x473236
add ecx, dword [esp + 0xb0]
mov edi, esi
sub esi, 0xfe30f276
inc edx
sub esi, 0xfe317306
xor edx, edi
add esi, ebx
sub esi, edx
xchg ebx, edx
not edi
xchg edi, ebx
jmp 0x4707fc
xor eax, eax
xor esi, edi
xchg ebx, esi
shl ebx, 3
ror ebx, 7
dec ebx
or edx, esi
xor edx, ebx
xor edi, edx
jmp 0x471532
mov ecx, dword [ecx]
add edi, ebx
add esi, edx
add edx, edi
and ebx, esi
mov edi, 0xfe744832
or ebx, edx
sub ebx, edi
mov edx, esi
xchg esi, edx
or ebx, edi
jmp 0x472300
mov ecx, dword [esp + 0x40]
add ebx, 0xfea376ac
and esi, ebx
sub edi, 0xfea40856
xchg edx, ebx
jmp 0x4711ab
mul ecx
mov edi, 0xff0beaba
or ebx, esi
add esi, edi
add edx, ebx
add edx, ebx
xchg edx, ebx
xchg edi, edx
bswap esi
and edi, 0xff12cf22
mov esi, ebx
jmp 0x472606
mov dword [esp + 0x30], ecx
xor edx, 0xff6c920e
xchg esi, edi
and ebx, edx
add edi, esi
xor ebx, esi
dec edx
jmp 0x473316
mov ecx, dword [ecx]
mov edi, edx
or ebx, esi
xchg edi, ebx
add edx, edi
dec edi
sub ebx, edi
or ebx, edi
neg edi
jmp 0x4707d3
add ecx, 0xc
and ebx, 0xffb6f728
sub esi, 0xffb738de
xor edi, 0xffb77a32
shl edi, 1
jmp 0x4716a9
mov ecx, dword [esp + 0xb0]
sub edx, esi
dec ebx
add edx, ebx
mov edi, ebx
add ebx, 0xfff42896
or edi, edx
add edi, edx
neg edx
jmp 0x470fc3
cmp byte [ecx], 0
jmp 0x472c1c
mov ecx, dword [ecx]
mov edx, 0x49520f
neg esi
xor edx, ebx
xchg ebx, edx
xchg edx, edi
rol esi, 1
add edx, ebx
xchg edi, ebx
xor edi, ebx
bswap ebx
xor esi, ebx
add edi, ebx
xor edx, edi
sub esi, 0x527b4b
and edi, ebx
xchg edx, ebx
jmp 0x47258e
add dword [esp + 0x30], 0x78
xor edi, 0xc7121f
xor esi, 0xc7887d
and ebx, edi
xor edi, 0xc867f5
sub ebx, 0xccac3f
not edi
or edi, esi
xor edi, esi
or esi, 0xcdaa5b
add edi, esi
add edi, 0xce2671
and edi, 0xce65d1
jmp 0x470737
add dword [esp + 0x40], 4
xchg edi, ebx
shr edx, 0x1d
mov ebx, edi
or ebx, 0xd5078b
xchg edx, ebx
sub ebx, esi
or esi, edx
xor ebx, edx
bswap ebx
or ebx, 0xdad36d
shl esi, 0xd
shr esi, 0xd
mov edi, ebx
add edi, 0xdbcf93
jmp 0x471eb8