Function at 0x475c96
Capabilities:
Encrypt data using chaskey

Disassembly:
mov eax, 4
sub edi, ecx
add esi, ebx
sub esi, 0x3cb9a848
xor esi, ecx
ror ebx, 0xd
or esi, 0x3cb9fb4c
xor esi, 0x3cba150c
and ecx, esi
mov edi, 0x3cba4730
and ecx, ebx
jmp 0x4776a4
inc edx
mov ecx, ebx
shr esi, 0x1c
xor edi, ebx
add ebx, esi
or edi, 0x3cc5f69e
xor edi, 0x3cc610a4
add ebx, 0x3cc62a4a
neg esi
ror edi, 0x18
neg ecx
inc ebx
xchg ecx, esi
or ebx, edi
dec ecx
jmp 0x477f3c
mul edx
xor ecx, esi
or esi, ecx
xchg ecx, ebx
add edi, esi
sub ebx, ecx
or edi, ebx
add edi, esi
not ecx
sub edi, 0x3ccf01a4
and ebx, esi
inc esi
add edi, ebx
jmp 0x477b84
mov edx, dword [edx]
xchg edi, esi
add edi, ecx
add esi, 0x3cd6b4b0
add ebx, ecx
or esi, 0x3cd6e664
add esi, edi
jmp 0x4766bf
add dword [esp + 0x68], edx
mov edi, ebx
or edi, ebx
and edi, ecx
sub ebx, ecx
or ebx, esi
and esi, 0x3cdcbb98
mov esi, 0x3cdcd5f4
or edi, ebx
and ebx, 0x3cdd0b16
xor esi, ecx
add esi, ebx
or esi, edi
jmp 0x477acd
add edx, 0x3c
mov ecx, edi
and ebx, esi
xchg esi, edi
not edi
ror esi, 0x1b
dec ecx
bswap edi
sub ecx, edi
xor esi, ebx
shr ebx, 0x13
mov ebx, 0x3ce25cd4
and ecx, 0x3ce276c0
jmp 0x476043
add edx, 0xc
shl esi, 0x1b
and esi, edi
add esi, ebx
add ecx, edi
sub ecx, ebx
xor ebx, esi
jmp 0x477a69
mov edx, dword [esp + 0x6c]
and ecx, esi
shr ebx, 0xb
xor esi, ecx
dec ecx
or edi, 0x3cee4c0a
not ecx
and edi, ebx
add esi, 0x3cee9e68
xchg ecx, edi
sub ebx, ecx
jmp 0x4770f7
sub esp, 0xa0
add edi, ecx
xor ecx, esi
inc esi
mov ecx, ebx
xchg ecx, edi
add esi, 0x3cf6d060
add ecx, 0x3cf6ea20
dec esi
sub ebx, 0x3cf720ac
xchg ebx, edi
jmp 0x476281
mov edx, dword [edx]
mov ebx, esi
and edi, 0x3d01cd90
shl ecx, 0x15
xor ebx, edi
shl ebx, 0x11
rol ebx, 0x1e
jmp 0x475a3f
mov dword [esp + 0x6c], edx
mov edi, ebx
shl edi, 0xc
mov esi, edi
rol edi, 4
not ecx
sub edi, 0x3d02dd12
jmp 0x4775be
add dword [esp + 0x6c], 4
sub edi, 0x3d030086
sub ecx, ebx
mov edi, esi
neg edi
xchg esi, ebx
rol ebx, 0x13
xor ebx, ecx
xor ecx, esi
jmp 0x475b74
add esp, 0xa0
xchg esi, ebx
add ecx, ebx
rol ebx, 0x10
mov edi, esi
and ecx, ebx
xor esi, ecx
jmp 0x476217
mov edx, dword [esp + 0x68]
add edi, esi
or edi, esi
sub ecx, ebx
sub esi, ecx
mov ecx, 0x3d06b52e
mov esi, ecx
jmp 0x477bb7
mov edx, dword [edx]
xor edi, ecx
ror esi, 0xd
mov esi, ebx
sub ecx, 0x3d1263d6
shr edi, 0x1a
dec ecx
or edi, 0x3d12b34a
xor ebx, edi
jmp 0x47631b
add dword [esp + 0x68], 4
mov edi, ebx
and edi, 0x3d18f7c6
or esi, ecx
or esi, 0x3d192e64
sub esi, ebx
shl ecx, 4
xchg ebx, edi
and esi, ebx
mov ebx, edi
or ebx, edi
jmp 0x4771c5
ret
mov dword [esp + 0x50], 0
and ecx, ebx
xor edi, ebx
add esi, 0x3d254f2a
or esi, 0x3d256aea
xor ecx, esi
xchg esi, ecx
and esi, 0x3d25ba12
xor ebx, ecx
jmp 0x476f45
mov edx, 0x30
add ecx, ebx
inc esi
or ebx, 0x3d28a800
xor ebx, edi
mov esi, ecx
add esi, ebx
mov ecx, 0x3d290aae
xor edi, ecx
jmp 0x476548
mov dword [esp + 0x68], edx
shl ecx, 0x17
sub edi, ebx
add esi, ebx
shr ecx, 0x19
and edi, esi
sub edi, esi
xor ecx, ebx
and ecx, 0x3d29fda8
sub edi, esi
mov ecx, esi
jmp 0x477801
add edx, dword [esp + 0x50]
sub edi, ebx
xor ebx, esi
rol ebx, 0x19
xor ebx, ecx
xor ecx, esi
ror ebx, 0x1d
sub ecx, 0x3d33ce6e
add edi, esi
jmp 0x47542e
mov dword [esp + 0x68], edx
xchg ebx, esi
mov edi, ecx
xor edi, 0x3d3439bc
xor ebx, 0x3d3454c0
add ecx, edi
or edi, ebx
neg ebx
mov ecx, esi
or ecx, esi
sub esi, ebx
dec ebx
add ebx, esi
jmp 0x477f17
mov edx, dword fs:[edx]
xchg ecx, ebx
and esi, ecx
shr edi, 0x1e
mov ebx, ecx
ror edi, 0x1d
xor esi, ecx
jmp 0x477c8d
jne 0x476e68
and ebx, edi
xor ebx, esi
xor ecx, edi
xchg esi, ecx
ror ecx, 0x15
and ebx, 0x3d3bbdde
sub ecx, 0x3d3bd79e
xchg edi, ebx
and ebx, esi
xor ebx, ecx
xor ecx, esi
sub ecx, 0x3d3c59d4
add edi, esi
mov esi, ebx
jmp 0x476130
mov edx, dword [edx]
mov edi, esi
or ebx, edi
shr edi, 0xd
sub ecx, esi
or ecx, edi
inc ecx
neg edi
shl ecx, 6
xchg edi, ebx
and ebx, esi
jmp 0x476edb
mov edx, dword [edx]
sub ecx, esi
sub ebx, esi
or ebx, edi
sub ecx, esi
inc esi
mov edi, esi
or ebx, esi
mov ebx, ecx
jmp 0x477794
xor al, byte [edx]
xchg edi, esi
mov ebx, edi
add edi, esi
xor ecx, edi
shl edi, 5
xchg esi, ecx
dec ebx
or ebx, edi
sub ecx, esi
inc esi
mov ecx, esi
add ebx, edi
or ecx, edi
inc ecx
jmp 0x477d9f
mov dword [esp + 0x28], edx
add ebx, edi
sub edi, ebx
mov edi, 0x3d56ac3e
xor ebx, edi
sub edi, ebx
xor ebx, esi
add edi, ebx
sub esi, ecx
mov edi, ecx
not ebx
jmp 0x4762fb
sub dword [esp + 0x68], 8
xchg ecx, ebx
add ebx, edi
shl ecx, 0xb
shl ebx, 0x14
jmp 0x477874
cmp eax, dword [esp + 0x28]
jmp 0x476584
add edx, dword [esp + 0x48]
sub ecx, edi
rol esi, 0xc
or ecx, esi
add ecx, 0x3d67e532
jmp 0x475e8c
add edx, dword [esp + 0x48]
nop
add ebx, ecx
sub ebx, ecx
and edi, 0x3d723992
xor ebx, esi
add edi, 0x3d726cfe
bswap edi
or esi, ebx
and ebx, ecx
shl ebx, 0x1e
xor ecx, 0x3d72f1d2
mov ebx, edi
jmp 0x477916
pop edx
sub esi, edi
rol esi, 6
or edi, 0x3d740b56
add edi, ebx
not ecx
sub edi, 0x3d7459c6
rol ecx, 0x19
mov edi, ecx
rol ebx, 0x14
or edi, ebx
sub esi, 0x3d74dc6a
and esi, 0x3d74f646
mov ebx, esi
add edi, ecx
jmp 0x476a5d
mov dword [esp + 0x48], 0
sub ecx, esi
sub edi, ebx
xor ebx, esi
or edi, 0x3d766f74
xchg ebx, edi
sub edi, ecx
jmp 0x477840
add edx, dword [esp + 0x68]
xchg edi, ecx
dec ecx
or edi, 0x3d786916
add edi, ebx
xor edi, 0x3d789b5c
or edi, 0x3d78b562
ror edi, 0x1b
and ecx, esi
sub ecx, edi
and esi, ecx
bswap edi
and ecx, ebx
sub ecx, esi
and esi, ebx
jmp 0x477111
inc dword [esp + 0x50]
xchg edi, ebx
sub ebx, 0x3d7bb070
add edi, ecx
mov ebx, 0x3d7be6c2
neg ebx
or edi, 0x3d7c1a16
xchg ebx, edi
sub edi, ecx
jmp 0x475e2d
add edx, 0x18
rol edi, 0xd
add esi, 0x3d7e5e9e
bswap esi
add esi, ebx
jmp 0x477ec7
mov dword [esp + 0x6c], 0
or esi, ebx
sub esi, edi
dec esi
xchg edi, ebx
rol edi, 0x1a
sub esi, edi
or esi, ecx
and esi, edi
jmp 0x476da8
mov edx, dword [edx]
and ecx, ebx
mov ecx, 0x3d8df5b4
neg ecx
bswap esi
dec ecx
bswap edi
shr ecx, 0xc
xor esi, edi
jmp 0x477280
mov edx, dword [edx]
sub ebx, 0x3d8ebbcc
sub ebx, edi
add esi, 0x3d8eedf0
mov ecx, edi
jmp 0x47649c
mov edx, dword [esp + 0x68]
mov ecx, 0x3d93c3f4
neg ecx
and esi, edi
add esi, 0x3d940f12
xor ecx, edi
and edi, 0x3d9443c2
and ebx, ecx
sub ecx, 0x3d94794a
shl esi, 0xa
and esi, edi
rol ebx, 7
mov ebx, esi
xor ecx, edi
or ecx, edi
jmp 0x477460
mov dword [esp + 0x48], edx
or ecx, ebx
add edi, ebx
add esi, edi
add ecx, 0x3d968b24
xor ecx, esi
mov esi, edi
and ecx, esi
or ecx, 0x3d96f284
xor ecx, ebx
bswap esi
jmp 0x47733d
add edx, dword [esp + 0x48]
inc edi
bswap ecx
and ebx, esi
xor esi, ecx
jmp 0x477cbc
jne 0x476800
and esi, 0x3d9cac12
xchg ecx, esi
jmp 0x476d5b
mov edx, dword [esp + 0x48]
and esi, 0x3d9dd3cc
sub esi, 0x3d9ded8c
and ebx, ecx
shl esi, 1
and esi, edi
mov esi, ecx
jmp 0x4759c3
mov edx, dword [edx]
mov ecx, edi
nop
xor ecx, 0x3da6919a
and ecx, ebx
and ebx, edi
sub ecx, esi
add edi, ecx
or ecx, edi
xchg esi, edi
and esi, edi
jmp 0x477dfb
mov eax, 2
add esi, ebx
and ecx, ebx
and ebx, edi
sub ecx, esi
or ecx, edi
sub esi, ecx
sub edi, esi
inc ebx
mov edi, ebx
not ebx
xchg esi, ecx
xor ebx, edi
jmp 0x4779b4
xor eax, eax
xor ebx, 0x3db55cc4
or ebx, ecx
neg ebx
sub ebx, ecx
mov ebx, edi
or esi, 0x3db5dc1e
jmp 0x476800
mov dword [esp + 0x50], eax
mov ebx, esi
add edi, ecx
rol ecx, 0x12
and esi, ebx
add edi, ecx
sub ebx, esi
or edi, ecx
xor edi, ecx
xor ecx, 0x3db6c7d6
add esi, ebx
mov edi, ecx
xchg edi, ebx
jmp 0x47695b
movzx edx, word [edx]
xor edi, esi
not ebx
and ecx, ebx
nop
and ecx, esi
sub ecx, edi
jmp 0x475719
add edx, dword [esp + 0x48]
or ecx, 0x3dbec0aa
or ebx, edi
neg edi
shl ecx, 0x14
jmp 0x477c08
mul edx
and ecx, ebx
and edi, ecx
jmp 0x47766a
add dword [esp + 0x68], 0x78
xor esi, ebx
dec ebx
xor ecx, edi
and edi, 0x3dc2122a
xor ebx, esi
xor ecx, edi
inc edi
add esi, 0x3dc27d78
jmp 0x477d27
mov dword [esp + 0x68], 0
dec ebx
or ecx, esi
inc ebx
or ebx, 0x3dc3c3f8
or edi, ebx
or esi, ebx
sub esi, edi
xor ebx, ecx
jmp 0x476938
mov edx, dword [esp + 0x68]
and edi, esi
add ecx, ebx
xor esi, ebx
xchg edi, ecx
jmp 0x4767a1
mov dword [esp + 0x6c], edx
xchg ecx, esi
sub esi, ebx
xor ecx, edi
xor ebx, edi
inc ebx
mov edi, 0x3dca0978
jmp 0x476e68
mov edx, dword [esp + 0x50]
inc edi
add ebx, ecx
add edi, esi
xchg ebx, edi
inc esi
add ecx, 0x3dce9bbc
shr edi, 0x10
neg esi
sub ebx, edi
xchg ebx, edi
jmp 0x4777cf
mov edx, dword [edx]
nop
add ebx, 0x3dd395f4
bswap ebx
shl esi, 0x10
sub esi, 0x3dd3e4b2
and ebx, 0x3dd40248
jmp 0x47583c
add dword [esp + 0x68], 0x20
xor edi, esi
and esi, ecx
bswap edi
and ecx, ebx
xor edi, ebx
dec esi
and ebx, esi
and ebx, ecx
sub edi, esi
xor ecx, ebx
jmp 0x477c6d
add dword [esp + 0x68], eax
sub ecx, 0x3ddb83e6
shl ecx, 0x10
and esi, ecx
and esi, ecx
sub esi, edi
xchg ecx, esi
and ecx, esi
mov edi, esi
jmp 0x475ea4
mov edx, dword [edx]
mov ebx, edi
or esi, 0x3ddcb41c
or ecx, 0x3ddcce22
sub esi, ebx
sub edi, ecx
xor ebx, edi
jmp 0x476ba3
mov dword [esp + 0x68], edx
neg esi
xor ecx, edi
shr ebx, 0x10
and ebx, 0x3ddf0452
sub edi, ecx
xor ebx, edi
and ebx, 0x3ddf5058
add ebx, edi
jmp 0x477f8e
mov edx, dword [esp + 0x68]
xchg esi, ebx
xchg ebx, ecx
xor edi, ebx
dec edi
or esi, ecx
xor ecx, edi
and edi, 0x3de1da20
rol edi, 7
jmp 0x477fe1
add edx, 0xc
or ebx, edi
xchg ecx, esi
mov edi, esi
or ebx, edi
jmp 0x475df5
push edx
shr esi, 0xd
or ebx, ecx
xor edi, ebx
and ecx, edi
add edi, ebx
and esi, edi
add esi, 0x3de3c0c2
add edi, 0x3de3def2
sub edi, ebx
dec edi
jmp 0x47764f
mov edx, dword [esp + 0x48]
inc edi
add edi, ebx
xor edi, 0x3de6b956
shr edi, 8
sub esi, ebx
and esi, edi
sub ebx, 0x3de71fe4
not ebx
mov ebx, esi
xor ecx, edi
inc edi
bswap ecx
jmp 0x476df4
rol eax, 8
mov edi, ecx
mov ebx, edi
or ebx, edi
neg ecx
mov ecx, edi
rol esi, 0x18
jmp 0x475605
add edx, dword [esp + 0x48]
xor esi, ebx
and edi, ecx
jmp 0x475e0f
mov edx, dword [edx]
mov edi, esi
add ecx, 0x3df275b8
sub esi, ecx
xor edi, ecx
not ecx
and ebx, edi
jmp 0x477218
mov edx, dword [esp + 0x48]
ror esi, 0x10
xor edi, ecx
add edi, ebx
add ebx, esi
or edi, 0x3df575a2
add edi, ebx
add esi, edi
or ecx, 0x3df5c34a
jmp 0x47590b
cmp byte [edx], 0
jmp 0x477300
mov edx, dword [esp + 0x6c]
or edi, esi
xor ebx, 0x3df86668
or ebx, 0x3df88044
add esi, ebx
mov edi, ecx
and esi, ebx
xor ecx, ebx
inc ecx
not ebx
mov ebx, esi
jmp 0x47647a
mov edx, dword [edx]
bswap ebx
mov ebx, 0x3dfb07ba
and edi, esi
sub edi, 0x3dfb39b4
or esi, ebx
add ecx, edi
jmp 0x476d11