Function at 0x47628c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esp + 0x7c]
xor edx, 0xcab99e85
dec edi
xchg edx, edi
sub ecx, ebx
mov edi, 0xcaba1277
shr edx, 1
ror ebx, 0x11
or edx, ecx
jmp 0x473086
add esi, 0x3c
mov edi, ecx
dec ecx
sub edi, edx
or ebx, 0xcac20e53
sub edx, ecx
xchg edx, edi
mov edi, ecx
neg edx
jmp 0x4730e6
mov esi, dword [esi]
or edx, ecx
shl edx, 6
mov ebx, 0xcac56915
xor ebx, ecx
sub ebx, ecx
dec edx
mov ecx, edi
or ecx, edi
xchg edx, edi
xor ecx, edx
and edi, ebx
mov ebx, edx
ror edi, 8
mov edx, edi
jmp 0x4731be
mov dword [esp + 0x10c], esi
shl ecx, 1
sub ebx, ecx
sub edi, 0xcacc8d47
neg ebx
bswap edx
xor edx, ecx
xchg ecx, edx
shl ecx, 3
jmp 0x47343e
mov esi, dword [esp + 0x10c]
dec ebx
and ecx, 0xcacd5dc9
xchg edi, ebx
xor edi, ebx
sub ebx, ecx
shr edi, 0xf
xchg ebx, ecx
bswap ecx
and ebx, edx
xor edi, ebx
jmp 0x474ed8
add esi, dword [esp + 0x10c]
or ecx, ebx
dec ecx
sub edi, ecx
mov ecx, edi
and ebx, ecx
add ecx, edi
and ebx, edi
sub ecx, ebx
sub edi, ebx
mov ecx, ebx
jmp 0x473987
add dword [esp + 0x10c], 0x78
and edi, ecx
add edi, 0xcae225ff
xchg ecx, edi
shr ebx, 0x13
sub ecx, 0xcae27c95
add ecx, ebx
sub ecx, ebx
or edx, 0xcae2cc85
bswap edi
and edi, 0xcae30747
sub edi, edx
bswap edx
jmp 0x476546
movzx esi, word [esi]
and ebx, edi
xchg ebx, edx
mov ebx, ecx
or edi, ebx
ror edx, 0x15
mov ecx, 0xcaeefc9f
sub ecx, edx
bswap edi
jmp 0x4742cc
mov esi, dword [esp + 0x10c]
neg ebx
sub edx, edi
neg edx
sub ebx, edi
sub ebx, 0xcaf384e3
xchg ecx, ebx
neg edx
and edx, ecx
or edi, edx
bswap edx
sub edi, ecx
sub ebx, edi
jmp 0x474002
add dword [esp + 0x10c], 4
or ebx, edx
mov ecx, edi
rol edx, 6
and ebx, 0xcaf68701
sub ebx, edx
xchg ebx, edi
jmp 0x4731e0
mov esi, dword [esi]
add edx, edi
sub ebx, edx
rol ebx, 3
and ecx, edi
add edi, ecx
sub ebx, edi
jmp 0x4757a8
mov dword [esp + 0xfc], 0
shl edx, 0x17
add edi, edx
add ecx, edx
or ebx, ecx
add edx, edi
and edx, ebx
xchg edi, ebx
or edx, ecx
and ecx, 0xcb015375
xchg edi, ecx
or edx, ecx
shl edx, 0x1e
bswap edi
not ecx
not edi
xor ecx, edx
jmp 0x47601e
mov esi, dword [esp + 0x10c]
add edx, 0xcb02bfd3
xchg edi, ebx
xor ebx, ecx
mov edx, ebx
bswap ebx
xor edi, ebx
sub ebx, ecx
shr edi, 3
xor edi, edx
add ebx, edx
sub edi, ecx
bswap ebx
sub edi, edx
sub edx, ecx
mov ebx, edx
not edi
jmp 0x473f31
mov esi, dword [esp + 0xfc]
mov edx, 0xcb06f75f
xor ebx, edi
xor edx, ecx
and edi, 0xcb0749bd
ror ecx, 0x13
inc edi
bswap edx
or edi, ebx
and edi, edx
sub edx, ebx
and ebx, ecx
add ecx, edi
jmp 0x4744fd
mov esi, dword [esi]
xor ebx, edx
add ecx, 0xcb0e1b0f
rol ebx, 0x1b
xchg ecx, edi
or edx, 0xcb0e7225
mov edx, ebx
shl edx, 0x1d
sub ebx, edx
xor edx, 0xcb0ee1b7
dec edi
shr ecx, 0x13
neg edx
jmp 0x473a26
mov dword [esp + 0x10c], esi
shl edx, 0x1d
and edi, ebx
xchg ecx, edi
xor edx, ebx
add ebx, edx
or edx, ebx
xor edi, 0xcb139b03
or edx, 0xcb13b731
inc edx
bswap ecx
jmp 0x473b1e
mov esi, dword [esp + 0x7c]
and edx, ecx
or ebx, edx
xor ecx, ebx
mov ebx, edx
jmp 0x473baf
add dword [esp + 0x10c], esi
neg ecx
and edx, ebx
and ebx, 0xcb1fb83f
or ecx, edi
shl ebx, 0x1c
or edi, 0xcb200d93
bswap edx
xor edx, 0xcb204467
jmp 0x473c58
jne 0x4748f5
add ebx, ecx
rol ebx, 7
or edi, ebx
shr ebx, 0xc
mov edi, ecx
xor ebx, 0xcb23fb19
or edi, ecx
sub edi, edx
mov ecx, edi
or edi, ebx
jmp 0x4757d7
add dword [esp + 0x10c], 0x20
add edx, ecx
dec edx
xchg edi, ecx
xchg ecx, ebx
bswap ebx
xor ebx, 0xcb25171f
mov ecx, 0xcb253351
xor ebx, edx
jmp 0x473644
mov esi, dword [esi]
sub edi, ebx
xchg ebx, edx
xchg edx, ebx
neg ebx
xor edi, 0xcb3ccfc3
or edx, 0xcb3ceb9b
bswap edi
dec ecx
add ebx, 0xcb3d4489
dec edi
and edi, ecx
mov edx, 0xcb3d9637
sub edx, ebx
nop
jmp 0x4754fc
mov esi, dword [esi]
shl ebx, 0x1e
dec edi
sub ecx, ebx
or edx, ecx
add ecx, ebx
xor ebx, ecx
add ebx, 0xcb43e18f
shr edi, 0x19
mov edi, edx
mov edx, ebx
and ecx, edi
xor edi, edx
jmp 0x474103
add esi, dword [esp + 0x7c]
neg ecx
and edx, ebx
xchg ecx, edi
or ecx, ebx
add ecx, ebx
or edx, edi
mov ebx, 0xcb4b6cf9
and ebx, ecx
or ebx, edx
and edx, 0xcb4bbdbf
mov ecx, 0xcb4bd99b
shr edi, 0x11
mov ecx, ebx
add ecx, edx
jmp 0x47415b
mov dword [esp + 0xfc], esi
not edx
or edi, ecx
add edx, ecx
add edi, edx
inc ebx
xor ecx, ebx
jmp 0x475b45
jne 0x475b45
and ecx, edi
and edi, edx
neg edx
xchg edi, ecx
add ecx, edi
xchg ebx, edi
and ecx, edi
xchg ebx, edi
jmp 0x473699
mov esi, dword [esi]
add ecx, edi
mov edi, ecx
sub edi, edx
or ebx, edi
xor ecx, 0xcb5bd927
or ebx, 0xcb5bf579
mov ecx, 0xcb5c11b3
shr edi, 0x13
shr ecx, 0xd
mov edx, ebx
jmp 0x476845
add dword [esp + 0xfc], 4
add edx, ebx
xor ebx, 0xcb5dd537
mov edi, ebx
bswap ebx
and edi, edx
mov edi, 0xcb5e4491
dec edx
neg ebx
or edi, ebx
or edx, edi
jmp 0x47389f
mul esi
xor ecx, ebx
inc ecx
sub edi, ebx
dec edi
bswap edx
and ebx, edi
jmp 0x47699c
mov eax, 4
rol edx, 0x1c
shr edx, 0x19
add edx, ecx
xor edx, ebx
and edx, 0xcb662157
sub ecx, edi
neg ebx
sub edx, ebx
sub ebx, ecx
or edx, edi
jmp 0x4735b2
mov esi, dword [esi]
mov ebx, edi
or edx, ebx
shl ecx, 0x1e
add ecx, 0xcb707ee1
or ebx, edx
xor ebx, 0xcb70bbbb
xor ecx, ebx
add ecx, edx
jmp 0x474760
add esi, dword [esp + 0x7c]
dec edi
add ebx, 0xcb845bd3
xor ecx, edx
mov ebx, edx
add ecx, ebx
not edx
xchg ebx, edi
bswap ecx
and edi, 0xcb851d11
xor edi, edx
or ecx, edx
xor edi, 0xcb856ff1
jmp 0x4747f5
push esi
xchg edi, ecx
xchg ecx, ebx
xchg ebx, edi
sub edx, 0xcb895a51
sub edx, 0xcb897669
and ebx, edi
jmp 0x474836
xor eax, eax
or ecx, ebx
or edi, ebx
add ebx, edx
nop
xor edx, 0xcb8b4293
or ecx, 0xcb8b5eff
and ecx, edx
inc ecx
ror ecx, 0xc
and ecx, edx
add edx, ecx
or ecx, ebx
add ecx, ebx
shl ecx, 0xd
jmp 0x4748f5
xor al, byte [esi]
or edi, 0xcb9080f1
shl edx, 0x18
and edi, ecx
or ecx, edx
rol ebx, 0x15
bswap ecx
xor edi, edx
and edx, ebx
add edi, edx
xor ebx, edx
jmp 0x47495b
rol eax, 8
dec edx
nop
xor edi, 0xcb94546b
xchg ecx, edx
sub edi, ecx
shr edx, 0x14
add edx, ecx
bswap ecx
and edi, ecx
ror ebx, 0x13
mov ebx, edx
shr edx, 0x12
jmp 0x474d4a
mov eax, 2
mov edx, 0xcb9ddadb
xor edi, 0xcb9df6c9
add edx, 0xcb9e16bb
not ecx
jmp 0x475233
inc esi
shr ecx, 0x1d
neg ebx
bswap edx
and ecx, edi
add edi, ecx
mov ecx, edi
and ecx, 0xcbb6f56f
add ebx, ecx
inc ecx
and edx, ebx
jmp 0x4769e5
mov dword [esp + 0x10c], 0
and ecx, ebx
xor edx, 0xcbb78081
mov ebx, edx
shl ebx, 0x1a
xor edx, ecx
xor ebx, 0xcbb7f063
or edi, ecx
xchg ebx, edx
jmp 0x475379
add esi, 0x18
sub edi, ebx
or ebx, ecx
xor edi, ebx
xchg ecx, ebx
not edx
sub edi, edx
bswap ecx
xchg edi, ecx
or ebx, edx
add ebx, edx
not ecx
or ebx, ecx
jmp 0x47634b
cmp eax, dword [esp + 0xc]
jmp 0x4741c7
mov esi, dword [esi]
ror edi, 8
shl edx, 0xc
add ecx, ebx
xor ebx, edi
mov ecx, edx
mov edi, 0xcbc2f63f
mov ebx, ecx
sub ebx, edx
xor edi, ecx
xchg edx, ecx
and ebx, edx
xor edi, ebx
or ebx, edi
xor ecx, 0xcbc3d39d
jmp 0x474fa9
add esi, dword [esp + 0x7c]
xchg ecx, edx
or edi, 0xcbca2d9b
not ebx
sub ecx, edx
sub ebx, ecx
shr ebx, 8
jmp 0x47505e
mov dword [esp + 0xfc], esi
sub ecx, 0xcbd03641
and ebx, 0xcbd052ad
sub edx, 0xcbd06e65
xor ebx, edx
neg edi
or ecx, ebx
jmp 0x474a71
mov esi, dword [esp + 0x158]
add edx, 0xcbded06b
xor ebx, edi
xor ebx, ecx
mov edi, edx
add ecx, ebx
bswap edi
and edx, ebx
ror edx, 0x11
and ebx, edx
and edi, edx
jmp 0x475309
mul esi
xchg edi, edx
shl edx, 0x17
not edi
mov edi, ecx
mov ecx, edi
mov ebx, ecx
jmp 0x475355
mov dword [esp + 0x158], eax
xor ebx, edx
mov edx, ecx
ror ecx, 0xe
or edx, edi
ror ebx, 0x1d
or ecx, edx
mov edi, 0xcbe95f61
dec edx
add edx, ebx
or edi, edx
jmp 0x475727
mov dword [esp + 0xc], esi
xor ecx, edx
or ecx, edx
rol ebx, 0x1a
add edx, ecx
dec edi
and edi, ecx
jmp 0x475b1f
mov esi, dword [esp + 0xfc]
or ecx, ebx
mov ecx, ebx
dec ecx
sub edi, ecx
shr ecx, 0x12
sub ecx, edx
jmp 0x475700
add esi, dword [esp + 0x7c]
dec ecx
add ebx, edi
sub edi, edx
mov edx, ebx
neg ecx
mov ecx, edx
and ecx, ebx
xor edi, ebx
or ebx, edi
mov edx, ebx
jmp 0x47567d
ret
mov dword [esp + 0x10c], esi
or ebx, edi
add ebx, edi
not edx
or ebx, edx
xchg edi, edx
and ecx, edi
not edi
mov edi, ecx
or edi, ecx
shr ecx, 1
neg edx
and edx, ecx
jmp 0x475488
add esi, dword [esp + 0x158]
and ecx, ebx
xor edi, ebx
or ebx, edi
or edi, ecx
and ecx, ebx
add edx, edi
rol ecx, 3
add edi, edx
rol edx, 0x1e
add edi, edx
or edx, ecx
rol edi, 5
jmp 0x4743ae
sub dword [esp + 0x10c], 8
or edi, ecx
ror edx, 9
and ecx, 0xcc0949dd
neg ebx
shr edi, 0xf
bswap ebx
sub edx, 0xcc09bf05
mov ebx, edi
xchg ebx, edi
sub edx, 0xcc0a0ee1
jmp 0x473827
mov esi, dword [esp + 0x10c]
add edx, ebx
xchg ecx, edi
and edx, ecx
neg ecx
mov ecx, ebx
xor edi, edx
xor edi, edx
and ebx, ecx
jmp 0x473778
add esi, dword [esp + 0x7c]
xchg edx, ebx
or edx, ebx
xchg edi, ebx
and edi, ecx
xchg ebx, edx
xor edx, 0xcc0d7fc3
mov edx, ebx
mov edi, edx
xor edx, 0xcc0dd113
mov edi, 0xcc0ded55
xor ecx, ebx
or edx, ebx
jmp 0x476ff7
pop esi
inc edx
and ecx, edi
and ecx, 0xcc0e7d63
rol edi, 2
and ebx, ecx
mov edx, ecx
dec edx
xor ebx, 0xcc0f05b1
xchg ebx, edx
dec edx
jmp 0x474e66
add esi, 0xc
bswap ecx
nop
xchg ecx, edi
sub ebx, ecx
shr edi, 0xc
sub edx, ebx
and edx, 0xcc23dc8d
and ecx, edi
xor ebx, edi
xor edx, ecx
add ebx, edi
or edx, ecx
jmp 0x47605f
mov esi, 0x30
xchg edi, ecx
xor ecx, 0xcc2b78b9
mov ecx, edi
mov edi, ecx
not ebx
or edi, ecx
xor edi, ebx
mov ecx, ebx
or edx, ecx
sub ecx, ebx
bswap ebx
xor edi, ecx
jmp 0x475f1c
inc dword [esp + 0x158]
xor edx, ebx
nop
or ebx, edx
or edi, ebx
and edi, edx
xchg edi, edx
sub ebx, 0xcc2d533d
xchg ecx, ebx
jmp 0x4742a5
add esi, 0xc
and edx, 0xcc49448d
xor ebx, edi
or ecx, edi
xchg edi, ebx
or ecx, edi
shl ebx, 3
or edi, 0xcc49ed0f
inc edx
jmp 0x4772c8
mov esi, dword fs:[esi]
mov edi, edx
inc ecx
neg ebx
sub edi, ecx
mov ebx, edi
mov edx, ecx
add edx, edi
xor ecx, edx
jmp 0x475eb5
mov dword [esp + 0x7c], 0
add edi, edx
xor edx, ebx
mov edi, ecx
sub edi, edx
dec ecx
nop
bswap ecx
nop
jmp 0x474d68
mov esi, dword [esi]
or ecx, edx
rol ebx, 8
sub edx, ecx
mov edx, 0xcc5685e5
add edi, ecx
add ecx, ebx
and ebx, ecx
xor edx, edi
and ebx, edx
and edi, 0xcc5726cf
jmp 0x47425d
sub esp, 0x16c
shl edi, 0x14
add ecx, edx
mov ebx, edi
mov edx, ecx
sub edx, edi
neg edx
sub ebx, 0xcc675095
and edx, ebx
xor ecx, edi
or ecx, edi
jmp 0x4773d0
mov esi, dword [esi]
dec edi
ror ecx, 0xd
inc edi
shr edx, 8
dec ecx
and edx, edi
rol edi, 0x1e
mov edx, ecx
ror ebx, 5
add ecx, edi
xchg ecx, ebx
sub ebx, ecx
jmp 0x47679f
mov esi, dword [esp + 0x7c]
or ebx, 0xcc7e0a6f
xor edx, 0xcc7e261d
and edi, 0xcc7e45d5
bswap ebx
or edi, 0xcc7e8053
and edi, ecx
or ecx, edx
and edx, 0xcc7ed13b
xchg ebx, edx
xor ecx, ebx
mov edx, edi
bswap ebx
jmp 0x47335b
mov dword [esp + 0x7c], esi
sub edx, edi
sub edi, 0xcc940cad
shr edx, 0xe
mov ebx, edx
xchg edx, ecx
xor ebx, edx
bswap edi
or edi, ecx
add ebx, 0xcc94ceef
shl ecx, 0xa
jmp 0x472f9c
mov esi, dword [esi]
xchg edx, ebx
neg edi
mov ebx, ecx
bswap edi
mov ebx, edx
and edi, ecx
neg ebx
or ebx, edi
shl ecx, 0x12
xchg ebx, edi
neg edx
sub ebx, edi
jmp 0x474e10
add dword [esp + 0x10c], eax
xchg ebx, edx
dec ecx
xchg edi, ecx
or ebx, edx
add edi, 0xcca3f57b
xchg ebx, ecx
and ebx, edi
ror edi, 9
ror ecx, 0x1a
shr ebx, 0x17
jmp 0x475756
cmp byte [esi], 0
jmp 0x473c33
add esp, 0x16c
or edx, edi
and edi, ecx
shr ecx, 0xa
xor ebx, 0xccd671d9
jmp 0x4755dc
mov esi, dword [esi]
mov ebx, ecx
add edi, 0xcceceb0b
xchg ebx, ecx
xchg edi, edx
mov edx, 0xcced3d47
and edi, edx
mov ebx, edx
and edx, ecx
xor edi, ebx
mov edx, ecx
add edx, edi
shr edx, 8
sub edx, edi
xor edi, ebx
jmp 0x475a38
mov dword [esp + 0x158], 0
inc ecx
mov ebx, 0xccf62973
xchg ecx, edx
sub ebx, ecx
sub edx, edi
mov ebx, 0xccf69961
xor ebx, 0xccf6b517
add ebx, ecx
inc ecx
rol ebx, 0x17
add ecx, edx
ror ebx, 4
jmp 0x4737dd