Function at 0x47b943
Capabilities:
Encrypt data using chaskey

Disassembly:
add dword [esp + 0x148], 4
mov edx, ecx
mov edx, esi
mov esi, ecx
and edx, esi
nop
and ebx, ecx
xchg ebx, ecx
or edx, ecx
xchg ebx, ecx
xchg ecx, ebx
jmp 0x47d176
add edi, 0x3c
add esi, ecx
xor ebx, edx
sub edx, ebx
neg edx
bswap edx
rol edx, 0x18
ror edx, 0x1f
shl ebx, 0x1d
not ebx
sub esi, edx
or edx, ecx
xor esi, 0xd42f95f6
jmp 0x47d9f5
mov edi, dword [esp + 0x174]
sub ebx, edx
sub ebx, esi
or ebx, 0xd44316ac
add ecx, edx
add ebx, esi
dec ecx
jmp 0x47d30c
add esp, 0x178
and ecx, esi
sub edx, esi
or ebx, edx
or edx, ecx
or edx, ecx
not edx
sub esi, 0xd4513ff4
mov ecx, esi
jmp 0x47cf7e
push edi
not ecx
bswap ecx
sub edx, ecx
xchg edx, ecx
and esi, ebx
add edx, 0xd46bf2fe
shl esi, 5
or ebx, esi
sub ebx, ecx
or edx, ebx
jmp 0x47c032
mov dword [esp + 0x148], edi
shl ebx, 8
rol edx, 0x13
add esi, ebx
xor ecx, edx
xchg edx, ebx
sub esi, ebx
or ebx, 0xd7f624ae
dec esi
shr ebx, 1
mov edx, ecx
rol ebx, 0x1b
mov esi, ebx
jmp 0x47dab3
mov edi, dword [edi]
mov edx, ecx
and esi, edx
ror ecx, 0xd
add esi, 0xd7fb3ffa
shr ebx, 6
and esi, ecx
neg ebx
xor edx, ecx
jmp 0x47d50a
sub esp, 0x178
add edx, esi
or esi, 0xd7fdaa66
mov edx, ecx
xchg ecx, ebx
xchg esi, ecx
and esi, ecx
and ebx, esi
ror esi, 0x1f
dec edx
and ebx, edx
jmp 0x47bd6a
mov dword [esp + 0xcc], 0
and ebx, edx
or edx, 0xd81bfe58
not ecx
sub esi, edx
jmp 0x47c8a6
mov dword [esp + 0x148], edi
xchg esi, ebx
rol ebx, 0x14
and esi, 0xd81e1202
sub ecx, esi
shr esi, 8
sub edx, 0xd81f4bca
mov ebx, ecx
xor esi, ebx
mov ebx, esi
or esi, ecx
jmp 0x47b6f0
cmp eax, dword [esp + 0x128]
jmp 0x47bf61
add edi, dword [esp + 0x148]
sub ecx, edx
mov edx, ebx
mov esi, edx
and ebx, 0xd84558e8
mov ecx, edx
or edx, esi
and edx, ecx
rol edx, 0xb
jmp 0x47c580
mov edi, dword [edi]
mov ecx, edx
shr esi, 0x1e
add ecx, 0xd84e589a
mov ecx, ebx
jmp 0x47ce3d
mov dword [esp + 0xcc], edi
shl ecx, 9
or esi, ebx
dec esi
and ecx, 0xd860c0bc
xor ecx, ebx
and ebx, 0xd8619134
jmp 0x47da08
mov edi, dword [edi]
shl ebx, 1
dec ebx
sub ecx, edx
not ebx
not esi
mov ecx, edx
jmp 0x47bcd7
mov edi, dword [esp + 0x68]
or ecx, edx
add esi, 0xd868cf24
and ebx, esi
inc esi
add esi, ecx
mov ebx, esi
xor edx, ebx
xchg esi, ebx
neg esi
rol ecx, 9
jmp 0x47d5eb
mov edi, 0x30
xchg esi, ebx
shr ebx, 0x10
neg ebx
xchg edx, esi
neg ecx
add edx, ebx
jmp 0x47cffc
mov dword [esp + 0x68], 0
shr edx, 0x1a
inc edx
xor ecx, ebx
bswap edx
mov edx, ecx
add edx, ecx
jmp 0x47c2a6
mov edi, dword [esp + 0x148]
or esi, edx
xchg ebx, ecx
bswap ecx
or edx, ebx
jmp 0x47d777
jne 0x47dbff
sub edx, 0xd8a7893c
xor ecx, edx
or edx, ebx
not edx
or esi, ebx
and ebx, ecx
or esi, edx
shl esi, 1
mov ecx, ebx
xor edx, ebx
jmp 0x47b558
xor eax, eax
mov ecx, 0xd8bf9b60
and esi, edx
add ecx, edx
or edx, esi
shl ecx, 0x19
mov ecx, ebx
xor ebx, edx
not ecx
jmp 0x47dcaa
inc edi
sub edx, 0xd8de0aea
sub ebx, esi
and esi, ebx
sub edx, 0xd8df275a
or edx, ebx
or esi, ebx
shl edx, 0x1c
shl esi, 0x12
mov ebx, esi
xor ecx, 0xd8e17248
jmp 0x47db34
mov dword [esp + 0x174], 0
add ecx, esi
and ebx, edx
rol esi, 0x1c
and ecx, 0xd947d0e2
sub ecx, esi
or ebx, esi
xchg ecx, edx
xchg ebx, esi
neg edx
xchg ecx, esi
xchg ebx, edx
and ecx, edx
sub ebx, ecx
add esi, ecx
jmp 0x47ba53
jne 0x47dcaa
xchg ebx, esi
add edx, esi
sub ecx, ebx
sub esi, ecx
rol ecx, 2
xor ecx, ebx
xor edx, ebx
bswap esi
mov edx, ecx
sub ebx, edx
jmp 0x47cda5
mov edi, dword [esp + 0xcc]
shr edx, 0x10
and ebx, 0xd9c77e72
mov ebx, esi
xor esi, 0xd9c8c39a
sub esi, 0xd9c95ae8
ror ecx, 0x17
and ebx, edx
mov ecx, 0xd9cb73b6
jmp 0x47d822
mov edi, dword [esp + 0x148]
rol esi, 5
sub ecx, esi
xchg ebx, edx
xor ebx, ecx
add ebx, esi
and ecx, edx
mov edx, ecx
sub ecx, 0xdc6c2508
mov ebx, 0xdc6d0154
sub edx, ebx
jmp 0x47d151
mov edi, dword [edi]
xor esi, ebx
and edx, ecx
not esi
and ecx, 0xdc7706a6
sub edx, 0xdc77c084
add edx, ecx
inc ecx
add edx, ebx
jmp 0x47ced7
mov edi, dword [edi]
add edx, esi
or ecx, edx
and ecx, edx
and edx, esi
dec esi
xchg edx, esi
xor esi, edx
bswap ecx
jmp 0x47da1c
mov dword [esp + 0x148], 0
bswap ebx
mov esi, ebx
neg esi
xor esi, 0xddb2bb96
neg edx
mov esi, ebx
jmp 0x47cc27
add edi, dword [esp + 0xcc]
mov esi, ebx
xchg edx, esi
xor edx, esi
mov esi, 0xddc183ea
and edx, esi
neg ecx
or ebx, 0xddc3afa4
or edx, ebx
not ecx
rol edx, 0xc
mov ecx, 0xddc63262
neg ebx
jmp 0x47b86c
mov edi, dword [esp + 0x148]
shl esi, 0x13
xchg ecx, ebx
xchg ebx, ecx
mov ecx, 0xddf3fa0c
xchg esi, ebx
xor ecx, edx
dec edx
and esi, ebx
and edx, ecx
mov edx, ebx
shr ebx, 0x1c
rol ecx, 7
jmp 0x47d885
add dword [esp + 0x174], 4
bswap ebx
or ebx, ecx
xor ebx, esi
xchg ecx, esi
jmp 0x47d992
mov dword [esp + 0x174], edi
mov esi, edx
sub edx, 0xde35a5c0
shr ebx, 0x18
mov esi, edx
sub esi, ecx
or esi, ecx
mov ebx, 0xde395b86
add edx, 0xde3a068c
xchg ecx, esi
and esi, edx
jmp 0x47dbff
mov dword [esp + 0x128], edi
nop
bswap esi
mov ecx, esi
or ecx, edx
or esi, 0xde5a0ef6
xor ebx, ecx
jmp 0x47bd53
mov edi, dword [edi]
or ebx, esi
add ebx, ecx
xchg ecx, edx
neg edx
or edx, ecx
mov esi, edx
inc ebx
and ebx, 0xde606eda
sub ecx, edx
dec ecx
jmp 0x47c8ff
rol eax, 8
inc ebx
or ebx, esi
and ebx, esi
xchg ebx, esi
rol ebx, 7
dec ecx
shr ecx, 2
inc ecx
sub ebx, 0xde9b6ff8
or esi, edx
jmp 0x47c04d
pop edi
sub ebx, esi
and edx, ebx
mov ecx, 0xde9fdf84
not edx
and esi, ebx
bswap ebx
dec ecx
xchg esi, ecx
jmp 0x47bb67
add dword [esp + 0x148], 0x20
add edx, ebx
inc edx
and ecx, esi
inc ecx
and esi, ecx
xor ebx, edx
xchg ebx, edx
xchg edx, esi
jmp 0x47bf04
mov edi, dword [edi]
shl esi, 3
dec ecx
rol ebx, 0xb
and ebx, edx
xchg ebx, edx
bswap ebx
jmp 0x47d6f2
mul edi
sub edx, ecx
ror ecx, 5
inc edx
sub ecx, esi
neg edx
mov ecx, ebx
shr ebx, 0xc
mov ebx, 0xdec0841e
add ebx, esi
mov edx, 0xdec1c30e
add edx, ecx
rol ebx, 0x1b
jmp 0x47dafe
mov eax, 2
add edx, 0xded265b6
rol ebx, 0x13
add ecx, esi
or ebx, esi
neg edx
xor ebx, ecx
bswap edx
mov ecx, edx
add esi, ecx
and ecx, 0xded888be
jmp 0x47bd2f
mov dword [esp + 0x148], edi
xor edx, ebx
xor ecx, edx
mov edx, ebx
sub edx, ebx
and ecx, edx
ror edx, 0xb
jmp 0x47c40b
mov dword [esp + 0x174], edi
add ecx, edx
add ebx, edx
neg edx
or edx, ebx
jmp 0x47ceb0
mov edi, dword [edi]
sub edx, 0xdeece984
add ebx, edx
and ecx, 0xdeee23e4
bswap ebx
jmp 0x47bc20
ret
mov dword [esp + 0x68], eax
or edx, ebx
xchg esi, ecx
inc esi
and edx, ebx
rol edx, 0xc
add esi, edx
mov ebx, ecx
add edx, 0xdf083952
jmp 0x47d90d
mov edi, dword fs:[edi]
xor ebx, esi
mov ebx, esi
add ebx, esi
sub ecx, ebx
xchg esi, edx
mov edx, ebx
not ebx
shl edx, 0x18
mov ebx, 0xdf11dcba
sub esi, edx
xor edx, ebx
xchg edx, esi
jmp 0x47d3a5
mov edi, dword [edi]
bswap ebx
mov ebx, 0xdf558984
sub ecx, 0xdf563482
mov ecx, esi
sub edx, esi
mov edx, 0xdf5810ae
xor ecx, 0xdf58c3a4
sub edx, esi
jmp 0x47d8e4
mov edi, dword [esp + 0x148]
rol edx, 0xe
sub ebx, 0xdf5acc50
nop
xor esi, ecx
sub edx, ebx
not ebx
jmp 0x47c60c
add edi, dword [esp + 0x68]
and ebx, esi
and ecx, esi
or ecx, 0xdf99cd4e
ror edx, 0x14
xchg ecx, edx
mov ebx, 0xdf9b8fa4
rol edx, 0x1d
xor ebx, edx
shl ebx, 0x1e
and ecx, esi
jmp 0x47d4bd
add edi, dword [esp + 0xcc]
xchg esi, edx
xor ecx, esi
or esi, 0xdfa05b56
sub esi, ecx
jmp 0x47cb71
add edi, 0xc
add edx, ecx
add esi, ecx
mov ecx, esi
xchg esi, ecx
jmp 0x47b926
mov eax, 4
bswap ecx
add esi, ecx
sub ebx, esi
rol esi, 0x1e
jmp 0x47dd13
add edi, 0xc
xor edx, 0xe042fdfc
neg edx
shr ebx, 0x15
shr edx, 0x18
mov ebx, 0xe046194c
sub esi, 0xe046f68a
jmp 0x47cf3d
mul edi
add ebx, ecx
or ebx, ecx
sub esi, 0xe0760aac
xor ebx, esi
jmp 0x47cfbc
mov edi, dword [esp + 0xcc]
ror ecx, 0x1a
mov ebx, ecx
neg ebx
bswap esi
mov ebx, ecx
add edx, 0xe07ad0f6
sub edx, ebx
ror ebx, 0x18
and ebx, esi
and edx, 0xe07d5350
jmp 0x47bbc9
add edi, 0x18
sub esi, 0xe0ae8bea
xor ecx, ebx
add ecx, edx
add edx, esi
jmp 0x47bcf7
mov edi, dword [edi]
xor ecx, 0xe0c9c40a
or ebx, edx
sub ebx, ecx
add esi, ebx
inc ecx
or ecx, esi
rol esi, 8
ror ecx, 0x15
jmp 0x47d336
add dword [esp + 0x148], edi
xor edx, esi
add esi, edx
xchg ecx, ebx
not ecx
xor ebx, esi
add ecx, esi
xor ebx, ecx
xchg esi, edx
jmp 0x47ce08
mov edi, dword [edi]
and ecx, 0xe0ffab9a
xor esi, ecx
and ecx, esi
add ebx, edx
or ebx, ecx
xchg esi, ecx
not ecx
add ecx, 0xe1040f84
jmp 0x47dc8a
add edi, dword [esp + 0xcc]
or ecx, 0xe10f9bbe
shl ebx, 0xd
bswap ebx
or ebx, 0xe1115068
add esi, edx
and ebx, 0xe1120b0e
mov ebx, edx
xchg edx, ecx
jmp 0x47ba6f
sub dword [esp + 0x148], 8
and edx, ecx
neg edx
mov esi, 0xe11400ba
shr esi, 0x16
xchg ecx, esi
mov edx, 0xe1152176
dec ecx
add ebx, edx
sub edx, ebx
sub edx, esi
sub ecx, ebx
xor edx, ecx
or esi, edx
xchg esi, edx
jmp 0x47c52c
mov edi, dword [esp + 0x174]
sub edx, 0xe121851c
sub ebx, edx
add ecx, 0xe12265dc
xor edx, ebx
jmp 0x47cc42
mov edi, dword [edi]
sub edx, esi
mov esi, ecx
sub ecx, 0xe12c0c90
xchg esi, edx
jmp 0x47b8ec
mov edi, dword [esp + 0xcc]
add ebx, esi
mov edx, ecx
bswap ebx
add ecx, esi
jmp 0x47b621
add edi, dword [esp + 0xcc]
add edx, ecx
or ebx, 0xe12ee7da
shr ebx, 0x19
shl ebx, 0xe
bswap ebx
mov esi, 0xe1307d20
sub ebx, esi
mov ebx, ecx
shr ebx, 0x17
sub ebx, esi
and ebx, 0xe1326934
shr ecx, 0x1b
sub esi, 0xe13329a2
xchg ecx, ebx
jmp 0x47cf08
add dword [esp + 0x148], 0x78
xor esi, edx
mov esi, edx
and ebx, edx
mov edx, ecx
add ecx, esi
and edx, ecx
jmp 0x47d5fe
add dword [esp + 0x148], eax
and edx, ebx
xor ecx, edx
mov ecx, esi
or ecx, ebx
mov ebx, 0xe1478904
rol ecx, 0x1a
add edx, ebx
or edx, ebx
sub ecx, esi
shl esi, 0x1f
mov ebx, 0xe149dedc
not edx
jmp 0x47ca06
cmp byte [edi], 0
jmp 0x47c2d7
inc dword [esp + 0x68]
xor edx, ecx
add esi, ebx
add esi, ebx
add ecx, edx
jmp 0x47ca8f
add edi, dword [esp + 0xcc]
xor esi, edx
xor edx, ecx
mov ebx, 0xe174ac8c
rol ebx, 0xd
xor ecx, ebx
or edx, 0xe175cfa6
jmp 0x47b771
xor al, byte [edi]
or ecx, esi
sub esi, 0xe1769f6a
and ebx, esi
sub ebx, edx
xchg ebx, ecx
and ecx, esi
shl edx, 2
inc ecx
shr edx, 0xf
sub edx, ecx
jmp 0x47cd78
movzx edi, word [edi]
add edx, esi
and edx, 0xe181c00a
sub esi, 0xe1821b60
shl ebx, 0x11
sub ebx, 0xe182e1c2
dec ecx
and esi, ebx
and ebx, ecx
dec esi
or ecx, 0xe184a382
jmp 0x47ce51