Function at 0x47e29a
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esp + 0x50]
xor ecx, edx
bswap ecx
xor edi, ebx
add edi, edx
jmp 0x47ce95
xor eax, eax
xchg ebx, edx
ror ebx, 0xd
shl edx, 0x10
add edi, ecx
jmp 0x47c776
add esi, dword [esp + 0x70]
add ebx, 0x7390ff6a
and ecx, 0x739166d2
mov ecx, edx
sub ecx, edi
add edx, edi
mov ebx, ecx
jmp 0x47dddf
add esi, 0x18
xchg edx, ecx
add edi, ecx
mov ebx, edi
xor edi, 0x739494f6
jmp 0x47db1b
mov dword [esp + 0x18], 0
inc ebx
and edi, ecx
neg ebx
or ecx, 0x73c5f82e
sub edi, ebx
or edi, 0x73c65cc2
xor edi, edx
xor edx, ecx
or edi, ecx
or edi, ecx
add edi, 0x73c75eb2
xor ecx, edx
jmp 0x47c374
mov esi, 0x30
sub ecx, edi
add ebx, edi
xor ecx, edx
ror ebx, 0xa
or ebx, edx
add ebx, ecx
jmp 0x47cf3d
mov esi, dword [esp + 0x70]
add edi, ebx
rol ebx, 2
add ecx, 0x73da0a40
add edi, ebx
ror ecx, 0x19
mov edx, ecx
xchg ebx, ecx
sub ecx, edx
shl edi, 0x1b
add edi, 0x73dcb6ca
add ecx, ebx
mov edx, ecx
jmp 0x47c70d
add dword [esp + 0x50], 0x78
sub ecx, edx
sub edi, edx
sub edx, ecx
sub ecx, edx
and ecx, ebx
sub ecx, ebx
jmp 0x47bdaa
mov esi, dword [esp + 0x70]
bswap ebx
xor edx, ecx
add ebx, edx
and ecx, edi
inc edx
dec ecx
or edi, ebx
and ebx, edx
add ebx, ecx
xchg ecx, ebx
or ebx, edi
shr ebx, 0x19
jmp 0x47c785
add esi, dword [esp + 0x70]
sub ecx, edx
inc edx
and ecx, 0x73fdaac4
xor ecx, ebx
shr edi, 0x1d
mov edi, ecx
jmp 0x47d298
mov esi, dword [esp + 0x50]
xor ebx, ecx
add ecx, 0x74081cfe
rol ebx, 0x14
or edi, 0x7408e2c0
xor ebx, 0x74094546
rol edi, 0x13
jmp 0x47c3d0
mov esi, dword [esi]
shl ecx, 0x1f
xor edi, ecx
xchg edx, ecx
add edx, 0x74228ef6
mov ecx, edx
xchg edx, ecx
sub edi, edx
inc edi
xchg ebx, edi
add ecx, edx
and edx, edi
or edx, ecx
jmp 0x47c62d
cmp eax, dword [esp + 0x80]
jmp 0x47e049
mov dword [esp + 0x50], esi
and edi, ebx
bswap edx
add edx, ecx
ror ecx, 0x1a
mov edi, edx
mov edx, edi
dec ebx
nop
ror ecx, 5
not edx
sub ebx, ecx
inc ecx
jmp 0x47bc79
mov eax, 2
and ecx, ebx
or ebx, edi
sub edx, ebx
rol edx, 0x11
sub ecx, edi
rol edi, 8
rol ebx, 2
and edi, ecx
jmp 0x47d526
mov esi, dword [esi]
sub ebx, edi
not ebx
jmp 0x47dc77
mov eax, 4
sub ebx, edi
xchg ecx, edx
jmp 0x47c64b
add esi, 0x3c
neg edx
and ecx, ebx
xchg edx, edi
ror edi, 0xb
add ebx, ecx
xor edi, edx
sub ebx, ecx
bswap ebx
add ecx, edi
mov ecx, edi
xor edx, edi
shl edi, 0xe
sub edx, 0x746a9d34
xchg ebx, edx
jmp 0x47c109
push esi
xchg edi, ecx
inc ecx
add ecx, 0x7470fe6a
add edx, edi
rol edx, 0xf
or edi, 0x74731b18
sub ecx, edx
and edi, ebx
neg ecx
sub ebx, ecx
add ecx, edi
or edx, edi
jmp 0x47b96e
add dword [esp + 0x50], eax
and edi, 0x7496a812
xor ebx, ecx
sub edi, edx
xor edx, ecx
jmp 0x47b95a
add dword [esp + 0x50], 0x20
mov edx, ecx
mov ebx, 0x74a576e4
or ecx, ebx
sub edi, 0x74a6c3ee
or ebx, 0x74a7a1ca
or edi, 0x74a8518c
rol edx, 0x13
mov ecx, edx
or edx, 0x74aa9d90
xor edx, ecx
jmp 0x47be3a
mov dword [esp + 0x70], 0
and ecx, ebx
xor ebx, 0x74ad1fb0
or edx, ebx
mov edi, edx
bswap ebx
add edi, ecx
xchg ebx, edi
xchg edi, ebx
or edx, 0x74b23cd8
dec ecx
sub edx, ebx
or edx, 0x74b42a4e
jmp 0x47e0eb
mov esi, dword [esi]
xor edi, 0x74bca76a
xor ecx, 0x74bd3910
shl ecx, 0x11
rol edx, 7
jmp 0x47d9c0
add dword [esp + 0x50], 4
xchg edx, ebx
add ebx, edx
and edx, edi
not ebx
xchg edx, edi
and edx, edi
and edx, ebx
mov ebx, edi
not ebx
bswap edi
jmp 0x47ce6e
jne 0x47c776
not edx
xchg ebx, edx
sub edi, ebx
xchg edx, edi
mov ecx, edi
bswap edi
xor ebx, edx
or edi, 0x75124328
add ebx, 0x7512a148
rol edx, 0xf
jmp 0x47d048
mov dword [esp + 0x40], 0
bswap edi
and ebx, ecx
shl ecx, 0xd
mov ecx, edx
xchg ebx, edx
not edi
or edi, ebx
or edi, ebx
jmp 0x47bb80
add esi, dword [esp + 0x70]
or edi, 0x7e55e628
or edi, ecx
shr ebx, 6
xor edi, edx
xchg edx, ebx
rol edx, 0x14
jmp 0x47ca7a
movzx esi, word [esi]
rol ebx, 3
xchg ecx, edi
or edi, edx
xchg ebx, ecx
sub edi, ebx
xor ecx, 0x7e5838ae
neg edi
mov ebx, ecx
and edi, 0x7e58cf0e
xchg ebx, edx
jmp 0x47da67
add dword [esp + 0x50], esi
dec edi
sub ecx, ebx
or ecx, edi
and ecx, edx
or ecx, ebx
neg ecx
or ecx, edx
neg ecx
jmp 0x47c33f
xor al, byte [esi]
add edi, edx
sub ebx, edi
xchg edx, edi
and ebx, edx
jmp 0x47cfe6
add esi, dword [esp + 0x50]
or edx, 0x7e6dd5d4
ror ebx, 0x14
add edi, ecx
rol ecx, 0x1e
or ecx, 0x7e6f2918
sub ebx, edi
jmp 0x47d5c5
inc esi
shl edx, 4
shl ebx, 9
or edx, 0x7e84d060
shl edx, 0x1f
sub ecx, edx
and ecx, edx
jmp 0x47df92
mov esi, dword [esi]
neg ecx
mov edx, ebx
xor edx, ebx
xor edi, edx
add edx, ecx
or edx, edi
and ecx, ebx
sub edx, edi
add edi, edx
bswap ecx
jmp 0x47b99f
mov esi, dword [esp + 0x18]
dec ecx
xchg ebx, ecx
or edx, ebx
ror edx, 5
and ebx, 0x7ea8f318
shl edi, 0x1c
jmp 0x47d0ba
mov dword [esp + 0x50], esi
sub ebx, edx
xchg edi, ecx
dec edi
inc ecx
or ecx, edi
add ebx, ecx
add ebx, edx
xchg ecx, edx
mov ebx, edi
and ebx, edi
xor ebx, edx
xor ecx, edi
xor edx, 0x7ebf2b12
sub edx, ebx
jmp 0x47d626
add esi, dword [esp + 0x40]
inc ecx
add ecx, 0x7ec1676e
xor ebx, edx
neg edx
or edx, ecx
and ecx, 0x7ec2d390
or edi, edx
or ecx, edx
add ebx, edi
mov ebx, 0x7ec430f6
xchg ecx, edi
mov edi, ecx
jmp 0x47c114
mov dword [esp + 0x80], esi
xchg edx, edi
ror edx, 0x14
add edi, 0x7ed00766
sub ecx, 0x7ed0695a
ror ebx, 9
add edi, ebx
inc edx
shl edi, 0x1b
and ecx, ebx
sub ecx, ebx
sub edi, 0x7ed33838
not edi
rol ecx, 0x1d
add edi, 0x7ed47564
jmp 0x47bbf6
mov esi, dword [esp + 0x50]
sub ebx, 0x7f2902de
xor edi, edx
xor ebx, edi
and edi, ecx
mov ecx, edi
mov ecx, 0x7f2adf10
add edx, edi
dec ebx
not edx
rol edx, 0x10
jmp 0x47d336
mov esi, dword [esi]
not edx
sub edi, edx
or edi, edx
shr ecx, 1
xor edx, edi
sub ebx, edx
inc ecx
not ecx
mov edx, ebx
xchg edx, ebx
mov edx, edi
bswap edx
shr ebx, 2
add edi, ecx
jmp 0x47bdcd
mov esi, dword fs:[esi]
add edx, ecx
add ecx, ebx
xor edx, edi
and edx, ecx
xor edi, 0x7f401d5c
or ebx, 0x7f408918
sub edi, ecx
or ecx, 0x7f413d04
add ebx, edx
xor edx, edi
bswap edx
bswap ebx
jmp 0x47d387
rol eax, 8
or edx, 0x7f52f220
sub ebx, ecx
xchg ebx, edi
sub edi, edx
dec edx
nop
xor edx, ebx
or edx, 0x7f55a622
jmp 0x47c884
mov esi, dword [esp + 0x70]
add ecx, edi
and edx, ebx
add ebx, 0x7f5a3604
nop
sub ecx, edi
mov edi, ebx
sub ecx, edi
and edx, ecx
or edi, ecx
nop
jmp 0x47c1ce
pop esi
rol ecx, 0x1b
or edx, 0x7f5debc0
xor ebx, edx
xor edx, 0x7f5eaa0c
or edx, ebx
add edi, ecx
jmp 0x47bf6a
add esi, 0xc
shl edi, 0x16
or edx, edi
mov ebx, edi
bswap edx
or ecx, edx
mov ecx, ebx
jmp 0x47d5b2
mov esi, dword [esi]
xchg ebx, edx
rol ebx, 7
sub edi, ecx
or ebx, edi
not edx
rol ecx, 5
xor ebx, ecx
rol ecx, 0x1b
jmp 0x47df9a
mul esi
or ebx, edx
add edx, ebx
mov edx, 0x7f798fc4
sub ecx, ebx
or ecx, 0x7f7a601a
sub edx, ebx
and ebx, ecx
xor edx, 0x7f7b8bec
jmp 0x47dc18
inc dword [esp + 0x40]
neg edx
mov ebx, ecx
neg edx
and ecx, edx
mov edi, 0x7f8d5728
xor edi, ecx
mov edx, ebx
sub ecx, 0x7f8e83da
and ebx, ecx
xor edx, 0x7f8f3692
jmp 0x47de2c
mov esi, dword [esi]
xchg edi, ebx
inc ecx
add edi, 0x7f906f0a
sub edi, ebx
and edi, ecx
and edx, edi
xchg ebx, edx
sub edx, ebx
jmp 0x47d07f
add esp, 0x98
and ebx, 0x7f9d9a8c
sub edx, ecx
and ebx, edi
xor ebx, edx
xchg ecx, edx
and edi, ecx
xor ebx, 0x7f9fdb10
sub edi, ecx
jmp 0x47e0ad
mov esi, dword [esi]
and edi, ecx
or ebx, edx
mov edx, ebx
bswap edx
inc ecx
and ecx, edx
not edi
rol ecx, 0x1f
jmp 0x47b97f
add esi, 0xc
mov ecx, 0x7fb8452e
ror edi, 0x1d
dec ebx
shr ebx, 0x10
add edx, ecx
and ecx, ebx
bswap ebx
mov edx, edi
xchg ecx, edi
and ecx, edi
neg ecx
and edx, ecx
jmp 0x47d21d
mov dword [esp + 0x70], esi
xor ecx, edi
xchg ecx, ebx
dec ecx
and ecx, edx
bswap ecx
xor ebx, ecx
jmp 0x47d026
sub dword [esp + 0x50], 8
xchg edx, ecx
xchg edi, ecx
add ecx, 0x7fdbd142
not edx
mov ecx, edx
mov edx, edi
add ecx, edx
not ecx
jmp 0x47dec1
mov esi, dword [esp + 0x40]
xor edi, edx
or ecx, edx
xor ebx, edi
mov edx, edi
add ebx, ecx
add edx, ebx
jmp 0x47d13b
mov esi, dword [esi]
xchg edx, edi
add ecx, edi
neg ebx
mov edx, ebx
not edi
neg edi
jmp 0x47d924
mov esi, dword [esi]
xchg edi, ecx
add edx, ecx
mov edx, 0x7ff55682
sub ebx, edx
mov ecx, edx
sub ecx, edi
rol edi, 0x15
sub edi, 0x7ff75612
xchg edi, edx
add edx, 0x7ff81538
shr edx, 0x1a
xor ebx, ecx
jmp 0x47bfa3
mov esi, dword [esp + 0x18]
shl ebx, 0xe
xchg ecx, edx
neg ecx
and ecx, edx
not edi
or ecx, edi
xor edx, 0x8002cc28
or edx, 0x8003412a
jmp 0x47cab3
mov esi, dword [esi]
mov edi, 0x805b2e36
add ecx, ebx
xchg ebx, ecx
xchg edx, ecx
or ecx, ebx
add edx, 0x805d630a
and ecx, ebx
and ebx, 0x805e3dea
jmp 0x47c94b
add esi, dword [esp + 0x70]
add edx, 0x806f4026
xor ecx, ebx
xchg ecx, edi
add edx, ebx
jmp 0x47dd74
mul esi
xor ebx, edx
or edi, ebx
xchg ecx, ebx
add edx, 0x8082bae8
mov edx, edi
xor ecx, ebx
shl edi, 1
sub edi, ebx
xor edx, edi
or ecx, edi
jmp 0x47c2e4
mov esi, dword [esi]
xor ebx, ecx
sub ecx, ebx
not ecx
mov ebx, 0x80993404
xor edx, ecx
ror ebx, 0x15
jmp 0x47d42a
mov dword [esp + 0x40], eax
or edx, ebx
sub edx, edi
or edi, ecx
shl ebx, 0x10
shl edi, 0x13
or ecx, edx
xor edx, ebx
neg edx
sub ebx, edi
bswap ebx
xchg ebx, edx
sub edi, 0x80b94600
jmp 0x47d4e7
mov dword [esp + 0x50], esi
add ebx, ecx
ror edi, 0x19
mov edi, edx
or ecx, ebx
sub ecx, edi
and ebx, 0x83497952
mov edx, ebx
rol ecx, 0x18
inc ecx
rol edi, 3
not edi
sub edi, ebx
jmp 0x47bcea
mov dword [esp + 0x18], esi
and edx, edi
xchg edi, ebx
xchg ecx, ebx
and edx, 0x8366b01c
sub edx, ebx
and edi, ebx
xor edi, ecx
mov ecx, edi
jmp 0x47d1f2
mov dword [esp + 0x18], esi
and edx, ecx
xor ecx, 0x837058d0
xor edi, edx
xchg edx, ecx
add edx, ebx
and edx, ecx
and edi, edx
and edx, ebx
jmp 0x47c045
add dword [esp + 0x18], 4
shl ecx, 8
nop
jmp 0x47c9cf
mov esi, dword [esp + 0x50]
ror ecx, 1
and edi, ecx
mov edi, edx
xchg edx, ebx
xchg edx, ebx
add edx, ebx
or edx, ebx
or ecx, edx
jmp 0x47bf47
cmp byte [esi], 0
jmp 0x47c53e
add esi, dword [esp + 0x70]
or edx, ecx
sub ecx, ebx
sub edi, ebx
xchg ebx, edi
and ebx, ecx
or ebx, 0x86fbfc02
or edx, 0x86fc793c
add edi, ebx
xchg ecx, edx
or edx, 0x86fddb44
and edx, 0x86fe48c2
add ebx, 0x86feaf98
jmp 0x47c222
jne 0x47d1f2
mov ebx, 0x870ce390
and edx, ecx
mov edi, 0x870daf72
add ebx, 0x870e11c2
sub ecx, 0x870e76a4
shl edx, 4
xchg edi, ebx
shr edx, 0x18
jmp 0x47c424
ret
mov dword [esp + 0x50], 0
not ecx
not ecx
not ebx
shl edx, 0x14
jmp 0x47cb2f
sub esp, 0x98
xchg ebx, edi
or edi, ebx
shr edx, 3
add ecx, edx
jmp 0x47c5ba