Function at 0x47825c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov eax, 4
ror ebx, 0x15
sub ebx, edx
mov edi, 0xbfa6bbea
rol ebx, 8
neg edx
mov edx, edi
xchg edx, ebx
xchg ebx, edi
jmp 0x476da9
mov ecx, dword [esp + 0xc]
and edi, ebx
xor edi, edx
add edi, edx
add ebx, edi
not edi
xor edx, ebx
xor edx, 0xbfafc458
or edx, ebx
shr esi, 0xa
add edi, 0xbfb0156c
add ebx, esi
xor edx, ebx
xor edx, 0xbfb061e4
add ebx, edi
jmp 0x477b49
mov dword [esp + 0xa8], ecx
xor edx, esi
xor esi, 0xbfb347c0
xor edi, edx
inc ebx
bswap esi
sub edx, edi
add esi, edx
xor esi, ebx
jmp 0x4778b6
mov dword [esp + 0x80], ecx
dec ebx
xor edi, ebx
and ebx, edx
shl esi, 6
and esi, edi
sub ebx, esi
xor esi, ebx
add ebx, edi
or esi, ebx
or edi, edx
jmp 0x475e65
mul ecx
add edx, 0xbfcd3fec
or edi, esi
sub ebx, 0xbfcd72f6
sub esi, edi
jmp 0x476269
push ecx
sub ebx, 0xbfce8dce
or edx, esi
sub esi, edx
mov edx, esi
ror esi, 3
bswap ebx
jmp 0x477b70
mov ecx, dword [esp + 0xa8]
mov esi, edx
and edi, esi
sub ebx, edi
mov edx, 0xbfcf7e98
xchg ebx, esi
sub edx, esi
mov ebx, esi
mov ebx, 0xbfcfe28e
jmp 0x477c40
rol eax, 8
xor ebx, 0xbfda2b3c
or esi, 0xbfda4ab8
add esi, edi
xor esi, 0xbfda7c74
jmp 0x476acb
mov ecx, dword [ecx]
shr edi, 0x14
mov ebx, esi
xchg ebx, edi
dec edx
shr ebx, 0x16
add edx, esi
or edi, esi
sub ebx, 0xbfde3554
shr ebx, 0x19
sub edi, esi
not esi
sub ebx, 0xbfde9eae
jmp 0x477048
mov ecx, dword [ecx]
xor edi, esi
and edi, 0xbfdedf4c
inc ebx
add esi, 0xbfdf144e
sub esi, 0xbfdf2e0e
dec edi
or esi, ebx
not esi
jmp 0x476229
mov ecx, 0x30
xor edi, edx
add edx, edi
sub edi, 0xbfe05330
xor edx, ebx
xor edi, edx
add edi, edx
mov ebx, esi
and esi, 0xbfe0ce1e
jmp 0x4762cf
inc dword [esp + 8]
mov esi, ebx
sub ebx, edi
xchg esi, ebx
or ebx, 0xbfe6d76e
mov edx, edi
ror edi, 1
xor edx, 0xbfe724b6
shr edx, 0xc
dec edi
sub edi, esi
xor edx, ebx
add edx, ebx
or edi, edx
mov esi, edi
jmp 0x4778cf
cmp byte [ecx], 0
jmp 0x47636d
mov dword [esp + 0x80], 0
and edi, ebx
xor edi, edx
or ebx, edi
shl esi, 0x19
add esi, 0xbfebfb02
not edx
jmp 0x4781ff
mul ecx
sub ebx, edi
and edx, edi
or edi, edx
or esi, edi
or edi, ebx
dec edx
or esi, 0xbff0d2da
shl edi, 0x1c
bswap esi
and edi, 0xbff122ea
xor edi, 0xbff13c84
neg ebx
jmp 0x47710a
mov ecx, dword [esp + 0xa8]
shl edx, 0x1c
xchg esi, edi
xor esi, 0xbff3e926
xor edx, esi
xor esi, edi
add edi, 0xbff532b8
add esi, edx
xor edx, 0xbff57826
bswap esi
or ebx, esi
xor esi, ebx
mov esi, ebx
or ebx, esi
and edx, esi
jmp 0x475d07
add ecx, dword [esp + 0xc]
bswap edx
inc esi
sub ebx, edx
or edx, 0xc005fc28
jmp 0x477f22
mov dword [esp + 8], eax
or edx, edi
add edi, 0xc00748c4
mov esi, edx
add edx, esi
add edi, edx
bswap ebx
xor esi, edi
add esi, 0xc007de0e
mov esi, ebx
and esi, edx
rol edx, 0x1f
xchg edi, edx
jmp 0x4773c4
mov ecx, dword [ecx]
sub edi, 0xc008d712
shr edi, 0x1b
or ebx, esi
xor edi, esi
rol ebx, 0x1a
inc ebx
bswap esi
shl ebx, 0x17
and esi, ebx
or esi, ebx
sub edi, esi
shr edi, 0x1a
jmp 0x476664
mov ecx, dword fs:[ecx]
sub esi, edx
or edx, esi
mov ebx, edx
and ebx, esi
sub edx, edi
shl edx, 0x11
xor edx, 0xc00aa788
add esi, edi
xor edx, esi
mov edi, 0xc00af5d4
xchg edi, ebx
sub edi, 0xc00b2884
jmp 0x476dfe
mov ecx, dword [esp + 0xc]
and esi, edx
add edi, edx
jmp 0x47646e
jne 0x4765f8
add edi, edx
ror edx, 0x14
add ebx, esi
add esi, edx
mov edi, esi
dec ebx
jmp 0x477cc7
ret
add ecx, 0x3c
or edi, edx
not edx
mov edx, ebx
xchg esi, edi
jmp 0x47781c
mov ecx, dword [ecx]
add ebx, edi
mov ebx, edx
or esi, ebx
dec esi
xchg edi, edx
neg ebx
mov edi, ebx
or edi, edx
or esi, edi
rol ebx, 0x1c
jmp 0x476a7e
mov dword [esp + 0xa8], ecx
bswap edx
add edx, 0xc01e8328
xor ebx, edx
xor edx, esi
shl edx, 1
xor esi, edx
inc edx
add ebx, edx
jmp 0x4781d8
mov ecx, dword [ecx]
shr edi, 0x1b
nop
sub esi, edx
xchg edx, ebx
xchg esi, edx
rol edx, 0x16
dec edx
mov ebx, edi
xchg edx, edi
bswap edi
or ebx, 0xc020bb84
inc edx
jmp 0x477371
xor al, byte [ecx]
xchg edx, esi
and edi, edx
and esi, edi
xchg ebx, esi
jmp 0x475c7a
add ecx, dword [esp + 0xc]
xchg ebx, edx
rol ebx, 0xc
or ebx, edi
add ebx, 0xc024ac54
xchg ebx, edi
add ebx, 0xc024df5e
xchg ebx, edi
xor ebx, 0xc02513da
jmp 0x475745
add ecx, dword [esp + 0xc]
xchg esi, edi
xor esi, 0xc02c0a0a
mov edi, ebx
add edx, 0xc02c3bce
mov esi, edi
rol edi, 0x1f
jmp 0x4767cf
mov ecx, dword [esp + 8]
mov ebx, 0xc02c9262
and esi, 0xc02cacfa
mov edi, 0xc02cc512
shl esi, 0x16
add ebx, esi
or edx, edi
add edi, 0xc02d28a8
or ebx, 0xc02d46b2
nop
dec edx
jmp 0x475aca
mov dword [esp + 0x80], ecx
shr edi, 9
inc esi
sub ebx, edx
ror edi, 5
jmp 0x476f2a
add ecx, 0xc
add edx, esi
mov edx, 0xc0427676
mov ebx, esi
mov edi, ebx
add edx, 0xc042c216
xchg esi, edx
rol esi, 0xf
xchg edx, esi
xor edi, ebx
nop
jmp 0x477d22
add ecx, dword [esp + 0xa8]
or edx, edi
xchg ebx, edx
or esi, edx
sub edi, esi
xchg esi, edx
xor edx, 0xc043e5f2
rol edx, 0x16
and esi, 0xc0441972
xor esi, edi
shl esi, 7
jmp 0x476b8c
inc ecx
xor ebx, edi
and esi, ebx
mov edi, ebx
nop
add edx, edi
not esi
mov esi, edx
inc edx
rol esi, 7
shr esi, 5
jmp 0x475ed6
mov ecx, dword [ecx]
sub edi, 0xc04b0d58
xchg edi, edx
and edx, edi
xchg edx, esi
mov edx, 0xc04b711a
or ebx, edx
xor edx, 0xc04ba76a
xchg edx, esi
and esi, edx
rol edx, 0x10
xchg edi, edx
or edi, ebx
jmp 0x476d6e
mov dword [esp + 0xa8], ecx
sub edi, esi
neg edx
mov edi, edx
mov edx, 0xc05a37c4
jmp 0x4756b6
movzx ecx, word [ecx]
shl edi, 0xb
and edi, ebx
add ebx, edx
xchg esi, ebx
xor ebx, edx
mov edi, ebx
and edi, esi
rol ebx, 7
xchg esi, edx
neg esi
rol edx, 2
and ebx, edi
add esi, ebx
sub ebx, esi
jmp 0x475fb9
add ecx, 0xc
sub edx, 0xc05e1a72
xchg ebx, edx
and esi, ebx
add edi, edx
shl ebx, 0x12
rol ebx, 2
jmp 0x4764c1
mov ecx, dword [ecx]
neg edx
or ebx, 0xc0624b9e
nop
xchg edx, ebx
or edx, esi
mov ebx, edx
xor edx, ebx
sub edi, 0xc062e1e4
jmp 0x4776ca
mov eax, 2
mov esi, 0xc066fa62
add edi, 0xc0671812
neg edi
add ebx, edx
jmp 0x476790
mov ecx, dword [esp + 0x80]
and ebx, edi
and edi, 0xc06784e6
xor esi, ebx
xor edi, edx
xchg edi, ebx
not ebx
not esi
mov ebx, edx
xchg edi, esi
ror esi, 0x12
or esi, edi
mov edx, esi
ror esi, 9
or edi, esi
jmp 0x477278
mov ecx, dword [ecx]
add esi, edi
add ebx, esi
dec edi
mov ebx, esi
not edx
mov esi, ebx
bswap edx
neg esi
mov edi, esi
sub esi, edx
not edx
mov esi, ebx
jmp 0x4765d6
add ecx, dword [esp + 0xc]
xor edi, ebx
mov ebx, edx
xchg edi, edx
ror esi, 0x1f
jmp 0x475a1b
add dword [esp + 0xa8], eax
inc edx
neg ebx
xor edx, esi
bswap esi
jmp 0x477e4f
mov ecx, dword [ecx]
sub ebx, 0xc07cbc7c
shr ebx, 2
shl ebx, 7
xor edx, esi
jmp 0x477344
add ecx, dword [esp + 0xc]
ror ebx, 0x17
dec edi
sub edx, edi
dec ebx
jmp 0x475afa
add ecx, 0x18
xor ebx, edi
mov edi, esi
mov ebx, esi
or edx, ebx
dec edi
add esi, 0xc083f9ee
neg esi
rol edx, 0x12
rol ebx, 0x1f
shl edx, 0x14
xor edx, 0xc0847c20
not esi
jmp 0x476e8e
sub dword [esp + 0xa8], 8
inc ebx
and edi, ebx
xchg esi, edi
add edx, 0xc085c152
neg edx
ror ebx, 0xb
xchg edi, esi
neg edx
sub edi, 0xc0864906
xor ebx, esi
jmp 0x477846
add dword [esp + 0xa8], 0x20
xor esi, edi
shl esi, 1
shl edx, 9
neg esi
xor ebx, 0xc09a1048
xchg ebx, esi
and esi, ebx
sub esi, edi
jmp 0x47602d
mov dword [esp + 0xc], ecx
or edx, esi
sub esi, edi
xchg esi, ebx
add edi, edx
sub edx, edi
sub edx, ebx
jmp 0x476337
jne 0x475e65
ror esi, 3
and esi, edx
and ebx, edi
shl edx, 0x1e
xor esi, ebx
and esi, edi
mov edi, esi
bswap edx
jmp 0x477a1d
mov dword [esp + 0x10], ecx
mov edi, 0xc09f2258
xchg edi, esi
xor edx, edi
add ebx, 0xc09f6ed0
mov edx, esi
mov ebx, 0xc09f9e60
and esi, 0xc09fb8ae
or esi, edi
or esi, ebx
xchg esi, edx
jmp 0x475d63
mov ecx, dword [ecx]
mov esi, 0xc0a408fe
or ebx, 0xc0a4213c
xchg esi, edi
shr ebx, 0x12
and edi, edx
and ebx, esi
sub esi, edi
mov ebx, edi
not esi
mov esi, edx
mov edi, 0xc0a5037c
mov edx, ebx
jmp 0x4765a9
mov ecx, dword [esp + 0xa8]
not ebx
dec edi
add edi, 0xc0a572e2
or esi, ebx
dec esi
xor edi, 0xc0a5c3c0
rol edi, 0x1d
rol esi, 0xa
jmp 0x4762a9
mov ecx, dword [esp + 0x80]
mov edx, ebx
and ebx, edx
mov ebx, edx
xchg edi, esi
ror esi, 0x1f
and ebx, esi
jmp 0x477f38
add dword [esp + 0x80], 4
add edi, edx
mov ebx, esi
neg edi
xor edx, 0xc0a92e8a
xchg edx, esi
ror edx, 2
or esi, edx
and edi, edx
jmp 0x476f43
mov ecx, dword [esp + 0xc]
shl esi, 7
xor edx, ebx
and edx, edi
mov esi, edi
inc esi
sub edx, ebx
sub ebx, esi
ror edx, 0x13
jmp 0x476aa1
add dword [esp + 0xa8], 4
sub edi, esi
neg edx
mov edi, edx
add ebx, edx
dec esi
mov edx, ebx
neg esi
sub ebx, esi
sub ebx, edi
sub edi, 0xc0b343b8
jmp 0x475b11
add dword [esp + 0xa8], ecx
sub edi, edx
mov esi, edx
bswap esi
and edi, edx
add ebx, esi
or edx, edi
add edi, 0xc0bbe482
or ebx, 0xc0bc02b2
nop
add edx, edi
jmp 0x4776a7
xor eax, eax
add ebx, 0xc0bc5658
or esi, edx
or edx, edi
xchg ebx, edx
or esi, edx
rol esi, 0x11
and edi, 0xc0bcecae
neg esi
jmp 0x4765f8
mov ecx, dword [ecx]
sub edx, edi
xor esi, 0xc0c28836
xor edx, esi
add ebx, esi
sub edi, ebx
dec ebx
add edi, 0xc0c30922
and ebx, edx
and edx, 0xc0c33b80
sub edx, ebx
jmp 0x47676f
cmp eax, dword [esp + 0x10]
jmp 0x47775a
pop ecx
dec esi
shl esi, 0xd
xor esi, 0xc0c6580e
and edx, esi
xchg ebx, esi
ror ebx, 0x1d
and edx, edi
shl esi, 0xc
neg edi
add ebx, edx
dec esi
xor edi, 0xc0c7405c
rol edi, 0x11
and edx, esi
jmp 0x477cbb
mov ecx, dword [ecx]
add edi, 0xc0c917b0
neg edi
add ebx, edx
xchg esi, ebx
shr edi, 0x13
or ebx, esi
xchg edi, ebx
add edi, ebx
sub edx, esi
add edx, ebx
jmp 0x476ff6
mov ecx, dword [esp + 0xa8]
and esi, edx
shr ebx, 0x12
xor edi, edx
or ebx, edi
jmp 0x475d30
add esp, 0xd0
and esi, edx
shr ebx, 0xa
shl ebx, 8
ror ebx, 0x13
jmp 0x4763fc
add ecx, dword [esp + 8]
bswap edi
shl edx, 0xc
neg esi
or edx, 0xc0d78ba0
jmp 0x475580
mov dword [esp + 8], 0
mov edx, 0xc0dafad8
add edi, 0xc0db1370
neg edi
add ebx, edx
xchg esi, ebx
sub edi, esi
mov edx, edi
mov edx, 0xc0dbacb2
not edx
mov esi, ebx
jmp 0x475f1f
mov dword [esp + 0xa8], 0
dec ebx
mov edi, 0xc0e4f420
add esi, edi
and edi, edx
and esi, ebx
add edi, edx
shl ebx, 1
ror ebx, 0x18
jmp 0x477777
add dword [esp + 0xa8], 0x78
rol ebx, 0xe
dec edi
shl edi, 0x1e
xor edi, 0xc0e9a318
rol edi, 5
add edi, ebx
ror ebx, 5
or esi, ebx
dec esi
xchg edi, edx
jmp 0x477993
mov dword [esp + 0xc], 0
add ebx, edx
sub esi, edi
or ebx, 0xc0ea9036
add ebx, edx
sub esi, edi
or ebx, 0xc0eadab6
nop
xor esi, edx
shl edx, 6
neg esi
mov edi, esi
or ebx, edx
add edx, ebx
and edi, 0xc0eba7c0
jmp 0x47812d
sub esp, 0xd0
nop
bswap edx
add ebx, edi
xchg ebx, edx
bswap esi
xor edi, edx
jmp 0x477fc4