Function at 0x475635
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x50], edi
xor esi, edx
xchg ecx, esi
and edx, ecx
add esi, edx
xchg edx, ecx
bswap esi
mov ecx, 0x6cd0bca0
sub esi, 0x6cd0d730
xor esi, 0x6cd0f3f4
nop
jmp 0x475744
add edi, dword [esp + 0x68]
xchg ebx, ecx
xchg esi, ebx
bswap ecx
add ecx, 0x6cd188c6
mov ebx, ecx
mov edx, 0x6cd1baf2
sub ecx, 0x6cd1d5b6
xor esi, ecx
and ecx, edx
not esi
jmp 0x475f9f
xor al, byte [edi]
sub ecx, 0x6cd2470c
xor edx, ecx
shr esi, 0x1f
or edx, 0x6cd2971c
xchg esi, edx
xchg ecx, esi
xchg ebx, ecx
and esi, ecx
sub esi, ebx
xchg esi, edx
or ecx, edx
xchg ebx, esi
jmp 0x476149
ret
sub dword [esp + 0xb8], 8
xchg esi, edx
shr edx, 0x10
sub ebx, ecx
add edx, 0x6cdb7376
rol ebx, 6
inc edx
shl esi, 7
and ebx, ecx
and ecx, esi
neg ebx
add edx, ebx
xor edx, 0x6cdc96f8
jmp 0x477ba1
mov dword [esp + 0xb8], edi
xchg esi, edx
add ebx, 0x6cdd147a
nop
rol ebx, 7
jmp 0x4754b0
mov edi, dword [esp + 0x68]
mov ecx, ebx
and esi, edx
and edx, 0x6cdfaf94
mov ecx, esi
sub edx, ecx
rol ebx, 0xc
neg ecx
and esi, edx
jmp 0x477122
add edi, 0x18
rol edx, 0x1d
add ecx, edx
mov ecx, ebx
sub edx, esi
bswap ecx
xchg ebx, edx
neg ecx
bswap ebx
jmp 0x476a3b
sub esp, 0x108
shr ebx, 1
neg edx
or ecx, ebx
rol edx, 9
add ebx, edx
sub ecx, esi
jmp 0x47642c
mov dword [esp + 0x18], eax
and ebx, esi
and edx, ebx
sub esi, edx
and esi, ebx
xchg esi, edx
dec ecx
neg ecx
add esi, ebx
or edx, ecx
nop
xchg ecx, esi
xor edx, 0x6cefdfca
jmp 0x475425
mov edi, dword [esp + 0xb8]
sub ecx, ebx
or esi, 0x6cf4106a
neg ebx
inc esi
mov esi, ebx
not edx
add esi, ebx
and ebx, edx
jmp 0x476b98
mov edi, 0x30
shl edx, 0x15
ror ebx, 0x1b
shl ebx, 7
mov ecx, ebx
or ebx, edx
or edx, ebx
bswap edx
not ecx
jmp 0x47622e
mov edi, dword [esp + 0x10]
xor ecx, esi
xchg esi, ecx
inc edx
or esi, 0x6d01aaae
and edx, ebx
inc ecx
mov edx, ecx
mov ecx, esi
or ecx, esi
bswap ecx
jmp 0x476a18
mov edi, dword [esp + 0x10]
sub ecx, 0x6d0c1f86
add ecx, ebx
mov ebx, 0x6d0c5202
add ebx, ecx
inc ecx
xchg ebx, edx
xchg esi, edx
and ecx, 0x6d0cdc86
xchg edx, ecx
and edx, 0x6d0d12fc
or edx, 0x6d0d2d66
sub ebx, 0x6d0d499c
jmp 0x475ebf
mov edi, dword [edi]
sub esi, edx
xor edx, ecx
ror ecx, 0x1a
sub esi, ebx
jmp 0x477528
inc edi
dec ecx
sub ecx, 0x6d108102
and edx, ecx
and esi, edx
or ecx, ebx
xchg esi, edx
or edx, ecx
sub ebx, esi
jmp 0x476209
mov edi, dword [esp + 0x68]
neg edx
mov ecx, ebx
shl ebx, 7
or ebx, esi
or ecx, 0x6d11aa24
or esi, ebx
jmp 0x475d35
mov dword [esp + 0x10], edi
or edx, 0x6d11ec10
xchg ecx, edx
and edx, 0x6d12262c
xor ebx, ecx
add esi, ebx
or ebx, esi
ror ecx, 0x13
mov ecx, ebx
jmp 0x475b21
inc dword [esp + 0x18]
mov esi, ecx
mov edx, esi
xchg edx, esi
add esi, edx
mov esi, ecx
mov edx, esi
neg edx
xchg esi, ebx
jmp 0x47624e
add edi, dword [esp + 0xb8]
shl edx, 8
xor ecx, esi
or ecx, ebx
neg ebx
inc esi
shl esi, 4
jmp 0x4763cb
mov edi, dword [edi]
mov ecx, esi
shl edx, 0x1d
and esi, 0x6d301628
sub ebx, ecx
xor esi, edx
xor ecx, esi
add esi, edx
and ecx, ebx
xor esi, ebx
xor ebx, esi
add edx, esi
shr edx, 0x1b
jmp 0x475338
pop edi
inc esi
add edx, esi
or edx, ecx
mov esi, edx
sub ecx, ebx
shr ebx, 0x16
and ecx, esi
bswap ebx
jmp 0x47664b
push edi
neg edx
shr ebx, 8
or esi, ecx
xor esi, 0x6d377ee8
or ecx, ebx
xchg ecx, esi
xor ebx, esi
sub esi, ecx
jmp 0x477b62
add dword [esp + 0xb8], 0x20
ror edx, 0xd
xchg esi, ecx
xor esi, ecx
mov esi, ecx
xor ecx, ebx
or ebx, edx
jmp 0x47799a
rol eax, 8
dec ecx
and ecx, edx
xor esi, ecx
neg ecx
xchg edx, ebx
or ebx, edx
or edx, ecx
sub ecx, esi
jmp 0x475a7b
cmp byte [edi], 0
jmp 0x47686b
mov edi, dword fs:[edi]
dec ebx
xchg esi, ecx
dec esi
rol ecx, 0x18
sub ecx, ebx
or esi, 0x6d4ada44
ror ebx, 0x13
shl ebx, 0x1a
dec esi
add ecx, edx
jmp 0x4773fe
add dword [esp + 0x10], 4
or edx, esi
xor ecx, 0x6d4b833a
add esi, ecx
dec edx
xor ebx, 0x6d4bd4a6
bswap ebx
sub ecx, 0x6d4c10aa
sub ebx, ecx
or ecx, esi
neg edx
jmp 0x4759ca
add edi, 0xc
mov esi, edx
and esi, ecx
or ebx, esi
mov edx, ebx
mov ecx, edx
or ebx, 0x6d5177be
sub ebx, 0x6d519272
neg ebx
sub edx, esi
and edx, ebx
add ecx, esi
dec ebx
sub ebx, ecx
shl ecx, 3
jmp 0x477797
movzx edi, word [edi]
dec ebx
mov esi, ebx
or edx, 0x6d556e40
rol ecx, 0x18
add ebx, ecx
bswap edx
or edx, ebx
neg esi
jmp 0x476f9e
mov edi, dword [edi]
and ecx, 0x6d5755e4
ror esi, 0x10
inc ecx
shr edx, 0xb
jmp 0x475454
mov edi, dword [esp + 0xb8]
not esi
add edx, ecx
sub esi, edx
or esi, ecx
or ecx, ebx
neg ebx
shr edx, 0x11
or edx, ecx
sub ebx, edx
sub esi, edx
xor esi, edx
sub ebx, ecx
jmp 0x4773cc
mov dword [esp + 0x18], 0
mov ecx, esi
mov ecx, ebx
or ebx, edx
neg ecx
dec ebx
mov ecx, esi
jmp 0x4768aa
cmp eax, dword [esp + 0x50]
jmp 0x4774bd
add dword [esp + 0xb8], 0x78
add esi, edx
and ecx, ebx
add ebx, esi
ror ebx, 2
sub edx, ebx
ror ecx, 9
dec esi
xor edx, ecx
and edx, ecx
add edx, ebx
jmp 0x475a94
mov eax, 2
xor esi, edx
xchg ecx, esi
xor ebx, edx
xor ebx, ecx
jmp 0x476721
mov edi, dword [esp + 0x18]
xor ebx, edx
and esi, edx
not ebx
rol edx, 7
and esi, edx
and edx, 0x6d724764
xor ebx, ecx
inc ebx
jmp 0x476847
mul edi
sub ecx, esi
ror ebx, 4
xchg ebx, ecx
sub ecx, edx
xor ecx, edx
and ecx, 0x6d7ac018
sub esi, edx
add ecx, 0x6d7afa8c
xchg ecx, ebx
sub ebx, ecx
jmp 0x47564e
jne 0x475363
add ebx, 0x6d7b5120
sub edx, ebx
and ebx, edx
rol esi, 9
add esi, 0x6d7bbba2
add ebx, esi
nop
not esi
jmp 0x475f6b
mov dword [esp + 0x10], edi
ror ebx, 0xf
and ebx, 0x6d7c509a
dec ecx
neg esi
dec edx
shr edx, 0x1c
jmp 0x4766c0
mov dword [esp + 0x10], 0
ror ebx, 6
and ebx, 0x6d7d0274
dec ecx
mov esi, edx
sub ebx, esi
shl edx, 0x11
xchg ecx, esi
sub ebx, 0x6d7da786
add ebx, esi
add ebx, ecx
add ebx, edx
ror ecx, 0x12
jmp 0x476ad0
mov dword [esp + 0xb8], edi
xor edx, 0x6d87ce6e
inc ecx
sub esi, ecx
xor edx, esi
not esi
sub esi, ecx
jmp 0x475886
add edi, dword [esp + 0x18]
or edx, ecx
add ebx, 0x6d8941da
add ecx, edx
sub ecx, ebx
xchg esi, ebx
bswap ecx
xor ecx, edx
dec esi
bswap ecx
not ebx
jmp 0x47763d
mov edi, dword [edi]
nop
not esi
sub edx, ecx
and ecx, esi
ror esi, 0x1e
add edx, ebx
and ecx, 0x6d8adea4
xor esi, edx
inc ecx
xchg esi, ebx
or ebx, esi
mov edx, ebx
jmp 0x47785a
mov dword [esp + 0x68], 0
or ecx, edx
or ecx, 0x6d8eddbc
rol edx, 9
sub esi, 0x6d8f14da
xor esi, ebx
xor edx, esi
xor ebx, edx
add edx, ecx
jmp 0x4771a9
mov edi, dword [edi]
sub ecx, ebx
xor ebx, edx
mov ebx, esi
xor esi, 0x6d92cace
and ebx, 0x6d92e436
sub esi, ecx
xor edx, esi
xor ebx, esi
add edx, esi
add edx, ebx
xchg esi, ebx
add ecx, 0x6d939d44
jmp 0x4770b3
mov edi, dword [edi]
and ebx, esi
mov ecx, esi
xchg esi, edx
inc edx
jmp 0x477c26
mov edi, dword [esp + 0x68]
or esi, ecx
shl ebx, 7
and ecx, 0x6d985858
mov ecx, ebx
or ebx, edx
and ebx, 0x6d98a9c4
mov edx, ecx
mov ecx, esi
and ecx, 0x6d98f4bc
sub esi, edx
jmp 0x477387
add esp, 0x108
dec ebx
sub edx, 0x6d9df632
neg esi
dec ecx
neg esi
dec edx
sub edx, 0x6d9e8610
mov ebx, 0x6d9ea152
mov edx, 0x6d9ebcba
add ebx, esi
jmp 0x4753b6
mov dword [esp + 0xb8], edi
bswap esi
or edx, esi
nop
rol edx, 7
add edx, 0x6da324d0
add edx, ebx
xor esi, edx
xor ecx, esi
and edx, 0x6da39098
xor ebx, ecx
add edx, ebx
mov esi, 0x6da3dd62
jmp 0x47669e
mul edi
sub edx, ecx
and ebx, esi
sub ebx, edx
shr ecx, 0x14
or edx, esi
sub ebx, esi
or edx, 0x6db3fc30
not edx
xor esi, ecx
inc ebx
sub esi, ebx
xor edx, ecx
jmp 0x477945
mov edi, dword [edi]
add ebx, edx
add esi, edx
rol ecx, 0x13
add ecx, 0x6dbc2ba4
jmp 0x4755a4
add dword [esp + 0xb8], edi
or edx, esi
nop
and ecx, edx
or edx, esi
nop
and ecx, edx
and edx, esi
inc edx
jmp 0x476038
add edi, dword [esp + 0x68]
inc edx
mov edx, esi
or ebx, 0x6dc1f59a
not ecx
sub ecx, esi
rol ecx, 0x1c
rol esi, 0x18
add ecx, ebx
jmp 0x4769e2
mov dword [esp + 0xb8], 0
bswap ebx
shr ecx, 0x10
jmp 0x47530e
add edi, 0x3c
sub ecx, edx
xor ebx, esi
xchg esi, ebx
mov ebx, esi
add edx, 0x6dd30b5e
mov ecx, ebx
add esi, 0x6dd3434c
dec ebx
jmp 0x47767a
mov edi, dword [edi]
dec ebx
or esi, edx
or ecx, edx
xor ecx, ebx
jmp 0x47759f
add edi, 0xc
shl edx, 0xa
and esi, 0x6dd6492c
rol ebx, 0xd
sub ecx, edx
xor ebx, esi
dec ecx
mov esi, ecx
xor ebx, esi
xor ebx, edx
add esi, ebx
shr esi, 0x1b
bswap edx
jmp 0x4774f3
jne 0x475b21
add ecx, 0x6ddbfd2e
sub edx, ecx
or edx, ebx
and esi, ecx
jmp 0x477702
mov edi, dword [edi]
xor edx, ecx
or edx, esi
or ebx, edx
add esi, ecx
sub esi, ecx
sub ebx, esi
add esi, ebx
xchg esi, ecx
and ebx, ecx
or ecx, esi
jmp 0x476304
add edi, dword [esp + 0x68]
rol esi, 4
add esi, 0x6ddfb8aa
xchg edx, ebx
bswap edx
rol esi, 0xc
mov ebx, edx
jmp 0x475ab1
add edi, dword [esp + 0x68]
mov ebx, edx
sub ecx, ebx
mov esi, ebx
or esi, ebx
sub edx, ecx
and ebx, ecx
jmp 0x47688e
mov eax, 4
and esi, ecx
shl ecx, 0x13
and ebx, esi
xor ebx, 0x6de83332
add ecx, 0x6de84fc0
mov ecx, edx
and ebx, 0x6de882a6
sub esi, ecx
jmp 0x476391
mov edi, dword [edi]
sub ecx, esi
add esi, edx
and ecx, ebx
xor esi, ebx
neg ebx
sub esi, edx
xor esi, edx
sub ebx, ecx
jmp 0x476d85
add dword [esp + 0xb8], 4
xor edx, ecx
not edx
mov esi, 0x6ded23a0
sub ecx, esi
and ecx, ebx
sub ecx, ebx
add esi, ecx
rol ebx, 5
bswap esi
and edx, ebx
add ecx, 0x6dedfaee
mov ebx, ecx
jmp 0x4763fa
mov edi, dword [edi]
ror ebx, 4
or ecx, edx
mov edx, esi
xchg edx, esi
mov esi, edx
mov esi, ebx
mov edx, ecx
and edx, 0x6df1fe46
shr esi, 0x1a
xor esi, ecx
neg ecx
add edx, 0x6df26b5c
sub edx, esi
and edx, ebx
jmp 0x476b5f
mov dword [esp + 0x68], edi
bswap ebx
sub esi, ebx
inc ebx
and ebx, esi
jmp 0x476c29
add dword [esp + 0xb8], eax
mov ebx, 0x6dfec266
xor ecx, 0x6dfedec0
add esi, ecx
or ecx, ebx
neg esi
xor esi, 0x6e00ad12
add edx, ebx
xchg ebx, edx
add edx, ecx
shr ecx, 0xe
xor edx, ebx
sub esi, 0x6e015052
sub ebx, esi
or edx, ecx
jmp 0x4756f1
mov edi, dword [esp + 0xb8]
and ecx, ebx
and edx, ecx
xchg edx, ebx
xor ecx, esi
xor ecx, edx
xor ebx, ecx
xchg ecx, ebx
neg esi
or ecx, edx
mov ecx, 0x6e037ae6
jmp 0x475a6b
mov edi, dword [edi]
xor ecx, ebx
and esi, ecx
dec ebx
or esi, ebx
xor ebx, 0x6e0d6170
ror ebx, 0x16
jmp 0x47716c
xor eax, eax
mov ebx, ecx
neg ebx
jmp 0x475363
mov edi, dword [esp + 0xb8]
mov ebx, 0x6e12330c
sub esi, edx
xor esi, ebx
mov esi, ecx
shr esi, 0xa
mov esi, 0x6e12b938
jmp 0x477ae7
add edi, dword [esp + 0x68]
shr esi, 0x16
mov edx, ebx
or ecx, edx
and ecx, ebx
mov edx, ebx
dec edx
jmp 0x476cf1