Function at 0x4703e3
Capabilities:
Encrypt data using chaskey

Disassembly:
add ecx, dword [esp + 0x5c]
sub edx, ebx
sub edi, 0x4ac89ead
shl edi, 8
xor ebx, edx
or edx, 0x4ac9dbd5
sub edx, ebx
jmp 0x4702e6
mov dword [esp + 0x5c], 0
or edi, ebx
add esi, edi
xchg edi, ebx
bswap edi
jmp 0x46f4a4
pop ecx
add ebx, esi
xor esi, ebx
or esi, 0x4ad5c52d
nop
neg ebx
or edi, 0x4ad6e291
jmp 0x46cd7f
mov dword [esp + 0x68], ecx
xchg ebx, edx
and ebx, 0x4ae1a8db
add edi, esi
shr edi, 0xb
add esi, edx
mov edi, 0x4ae291e7
xchg esi, edi
ror edx, 1
mov ebx, edx
mov edi, ebx
mov ebx, edx
add esi, edx
mov ebx, 0x4ae43457
inc edi
add esi, ebx
shr ebx, 0x13
jmp 0x46dfd4
inc dword [esp + 0x54]
and edi, edx
xchg esi, edi
rol ebx, 3
not edx
not edx
and edx, edi
add edx, edi
and esi, edx
jmp 0x46ffa4
add ecx, 0xc
rol edi, 0x1e
add edx, 0x4afc5a4d
and edx, edi
sub esi, edi
jmp 0x46fa3c
mov ecx, dword [esp + 0x3c]
add edx, 0x4b59ba47
mov edi, 0x4b5a3fbf
rol edi, 4
and esi, 0x4b5b3055
jmp 0x46e890
cmp eax, dword [esp + 0x10]
jmp 0x46ce09
mov ecx, dword [ecx]
not edx
rol ebx, 0x1d
add esi, edi
and esi, edx
ror ebx, 0x19
dec ebx
jmp 0x46ffe8
jne 0x46ca18
dec edi
mov edi, 0x4b73a4c1
add ebx, edi
or edi, esi
xor edi, 0x4b7462cb
and ebx, edx
or esi, 0x4b74d825
mov edi, edx
jmp 0x46db4b
mov dword [esp + 0x3c], ecx
and edi, edx
mov ebx, edx
xchg edi, ebx
rol edi, 9
or edx, 0x4b8f8dc9
or esi, 0x4b8fc9cd
shl esi, 5
and ebx, esi
xor esi, ebx
shr edx, 0x1c
and ebx, edi
shl esi, 2
or edx, edi
rol esi, 0xf
xor ebx, edx
shl esi, 0x1b
jmp 0x46f153
mov ecx, dword [esp + 0x68]
mov ebx, edx
add esi, edi
xchg ebx, edx
sub ebx, edi
xor ebx, 0x4ba75ed3
mov esi, ebx
jmp 0x46e87e
add ecx, dword [esp + 0x5c]
or ebx, 0x4bc39b0b
bswap edx
mov edx, ebx
ror esi, 0x15
jmp 0x46df19
mov dword [esp + 0x3c], 0
xor edi, 0x4bc9403d
inc esi
mov esi, ebx
sub edi, edx
or esi, 0x4bca2ac5
mov esi, 0x4bca66b5
sub edi, ebx
and esi, edi
or edx, ebx
sub edx, ebx
or edi, 0x4bcb9a6f
and edi, ebx
add ebx, esi
add edx, edi
jmp 0x46c849
sub dword [esp + 0x68], 8
ror ebx, 0x1b
sub edi, 0x4c33dccf
xor ebx, edx
and ebx, edi
xor ebx, edx
mov esi, ebx
xchg edi, edx
or edi, 0x4c364661
sub edi, esi
neg esi
rol edx, 8
mov ebx, 0x4c3806d7
jmp 0x46d71e
xor eax, eax
add esi, 0x4c65b5ad
mov ebx, esi
xor edx, edi
sub edi, esi
add edx, ebx
sub ebx, edx
not esi
xor esi, edx
or edi, esi
or edi, ebx
or edx, ebx
add ebx, esi
add edx, esi
or edx, 0x4c76175d
jmp 0x46d6a6
xor al, byte [ecx]
ror edi, 0x12
or esi, 0x4c7863f1
sub edi, 0x4c79b153
ror ebx, 0xb
inc edi
xchg esi, edi
add edx, esi
or edi, esi
sub edi, ebx
mov esi, edx
jmp 0x46fc06
mov ecx, dword [esp + 0x68]
or edx, ebx
xor esi, ebx
mov esi, edx
or edx, ebx
xchg edi, ebx
xor edi, ebx
add edx, esi
dec edi
bswap ebx
xor edx, 0x4caa44a1
jmp 0x46ef00
add ecx, 0xc
xor edx, ebx
rol edx, 0x19
and esi, 0x4cf9f3b7
and ebx, esi
sub edi, 0x4cfacb1f
inc edx
and ebx, edi
and edx, ebx
xor esi, 0x4cfbc56d
or edx, 0x4cfcd54f
dec edi
shr esi, 0x1d
jmp 0x46e68f
inc ecx
dec ebx
and edx, ebx
add ebx, esi
xor ebx, 0x4d085f43
mov edi, esi
sub edi, edx
add ebx, esi
mov edx, 0x4d098f21
inc esi
mov ebx, esi
mov edx, ebx
or edi, edx
jmp 0x46dc6f
mov ecx, dword [ecx]
xchg esi, edi
or ebx, edx
sub esi, edx
and edx, 0x4d2093b1
xchg edx, ebx
sub edx, 0x4d220a0b
shl edi, 6
or edi, 0x4d22b35d
shl edi, 0xa
add ebx, edi
jmp 0x46c828
jne 0x46d6a6
or edx, ebx
add edx, ebx
shl edi, 0x1a
or ebx, edi
xor edx, 0x4d42c831
bswap ebx
shr ebx, 8
dec edi
bswap edi
xchg ebx, edx
shl edx, 0x16
inc ebx
xor ebx, esi
sub esi, edi
sub esi, 0x4d473bdf
or edx, 0x4d477795
jmp 0x46c8b2
add dword [esp + 0x68], 4
ror ebx, 0x1a
ror edx, 0x1b
or ebx, edi
mov edx, 0x4d5d7611
ror edi, 8
xor edi, esi
add edx, 0x4d5e6a03
add ebx, edi
dec edx
ror esi, 0x16
sub edx, ebx
mov edx, ebx
jmp 0x470143
cmp byte [ecx], 0
jmp 0x46da6e
mov ecx, dword [ecx]
or edx, ebx
and esi, edx
or edi, ebx
rol edx, 0xa
mov ebx, edi
or ebx, 0x4d9ad205
neg ebx
xchg esi, edx
sub edi, 0x4d9bc77b
or edx, 0x4d9c030b
xor ebx, 0x4d9cc0f5
add edi, ebx
and ebx, edi
ror ebx, 0xa
shr edx, 0xb
xor edi, edx
jmp 0x470124
add dword [esp + 0x68], 0x20
mov edi, ebx
xchg edx, edi
bswap edi
xchg edi, ebx
shr esi, 7
and edi, esi
not ebx
and esi, edx
mov ebx, edi
mov esi, edi
rol ebx, 0x10
mov edx, edi
shl edx, 1
or edx, esi
jmp 0x46fbde
push ecx
mov ebx, esi
add esi, 0x4dd6c271
or edi, esi
bswap edi
bswap edi
sub edi, esi
mov edi, ebx
rol edi, 0x1b
and esi, edx
add edx, esi
mov ebx, esi
and ebx, edi
mov edi, esi
add ebx, edx
jmp 0x46d67b
mul ecx
xor edx, 0x4ddc6c4b
xchg esi, edx
sub ebx, esi
dec ebx
mov edi, ebx
ror edi, 0x16
mov edi, esi
mov edx, edi
sub edi, 0x4de03899
xor ebx, edi
xchg ebx, edi
mov esi, edx
jmp 0x46e74c
mov ecx, dword [esp + 0x3c]
ror esi, 0x11
add edx, ebx
xor ebx, esi
xor esi, 0x4df09711
add esi, edi
dec esi
or ebx, edi
add esi, edi
mov edx, 0x4df32db1
add ebx, esi
add ebx, 0x4df43425
add edi, ebx
jmp 0x46fc16
mov ecx, dword [esp + 0x54]
shr ebx, 0x1d
or esi, 0x4e0787f7
not ebx
rol ebx, 0xc
sub edx, edi
shl ebx, 0xd
and edx, esi
add ebx, esi
and esi, ebx
sub edx, esi
sub edi, ebx
and esi, 0x4e0bdc71
jmp 0x46f47e
mov dword [esp + 0x10], ecx
or esi, ebx
xchg edx, ebx
shr ebx, 0x1a
add edx, ebx
not edi
bswap ebx
shr esi, 3
xor ebx, edi
inc ebx
xchg edx, ebx
xchg ebx, edx
and edi, edx
jmp 0x46f2e6
mov dword [esp + 0x54], eax
or ebx, 0x4e46cdb9
ror esi, 0x19
and edi, esi
mov edi, esi
and ebx, esi
mov edx, edi
add ebx, esi
shr edi, 3
mov edi, edx
sub esi, edx
sub ebx, edi
xchg edi, esi
not edi
rol esi, 7
jmp 0x46d580
mov dword [esp + 0x5c], ecx
xor edi, 0x4e65aacb
xchg ebx, esi
inc esi
bswap esi
jmp 0x46fbb1
add ecx, dword [esp + 0x5c]
and edi, edx
shl esi, 0x16
mov edi, ebx
add edx, 0x4eb48c31
mov esi, edx
mov edi, edx
dec esi
xchg edx, esi
jmp 0x46c959
mov ecx, dword [ecx]
shl ebx, 0x15
mov edx, 0x4ec91a8f
sub edx, edi
sub esi, edi
ror esi, 0x17
ror edi, 0x1c
add edx, edi
xor ebx, edi
or edx, 0x4ecb79c5
xor esi, 0x4ecbe407
jmp 0x46f248
add ecx, dword [esp + 0x5c]
sub esi, edi
or edi, 0x4ecca557
add ebx, esi
and edi, ebx
or edi, edx
xchg edx, ebx
and edx, 0x4ecea839
or edi, esi
jmp 0x46eac6
mov eax, 4
add edi, esi
xor esi, edi
add esi, 0x4ed12249
sub edx, esi
rol edx, 7
mov edi, ebx
or ebx, edi
bswap ebx
mov ebx, edx
xchg ebx, edx
jmp 0x4700c3
mov ecx, dword [ecx]
xor esi, edx
xchg ebx, edx
xor edx, 0x4ed5979b
bswap edi
or edx, 0x4ed61107
sub edx, ebx
sub edx, ebx
and esi, edi
jmp 0x4703a6
add dword [esp + 0x68], eax
not edi
and ebx, esi
mov esi, 0x4ede77fb
mov edx, ebx
and esi, 0x4edfc32b
add esi, ebx
jmp 0x46d085
mov ecx, dword [ecx]
bswap esi
xor ebx, esi
xchg edi, ebx
inc edi
mov edi, esi
mov edx, edi
jmp 0x46e6b8
mov ecx, dword [ecx]
or ebx, esi
mov edi, 0x4f05e51f
neg esi
shl esi, 0x11
add esi, edi
add edi, edx
add ebx, edi
xchg edi, ebx
and edi, edx
shr edi, 0xf
xchg edx, edi
and esi, edx
jmp 0x46d18b
add esp, 0x8c
inc ebx
mov edx, 0x4f4d7531
mov edi, esi
not esi
mov ebx, edx
add edi, edx
and ebx, edi
mov ebx, 0x4f5038ab
sub ebx, edi
add edx, ebx
or edx, ebx
inc ebx
or esi, ebx
shr edx, 1
jmp 0x46f39d
add dword [esp + 0x68], 0x78
dec edx
xchg ebx, edx
or ebx, esi
xchg edx, edi
mov esi, 0x4fc58439
or ebx, edi
sub edi, ebx
sub ebx, edi
jmp 0x46f36f
add dword [esp + 0x68], ecx
shr ebx, 0x11
sub ebx, edi
mov esi, 0x4fc82cab
ror edi, 5
xchg esi, ebx
add esi, ebx
and ebx, esi
mov edi, edx
xor edi, esi
shl edx, 0x18
jmp 0x46de49
mov ecx, dword [ecx]
bswap edi
ror esi, 0x19
sub esi, edx
sub esi, 0x4fd64d31
bswap esi
add esi, edi
xor edx, edi
shr edi, 3
or edi, ebx
dec edx
xor edx, esi
bswap edi
mov edx, esi
xor edi, ebx
add edi, ebx
shl ebx, 0x18
jmp 0x46e5e1
mov eax, 2
and esi, ebx
rol ebx, 0xa
or esi, edi
xchg edx, ebx
inc edx
dec edi
add esi, ebx
or esi, edi
or ebx, edi
sub edx, edi
mov edi, edx
or ebx, edi
jmp 0x46e087
mov ecx, dword [ecx]
bswap edx
xor edx, esi
add ebx, 0x5048124f
sub edi, esi
xor esi, 0x5048c8b5
xchg ebx, edi
sub esi, ebx
dec esi
xchg edx, ebx
and esi, edi
ror esi, 0xa
and edx, esi
jmp 0x46e6ff
mov ecx, 0x30
add ebx, edx
add ebx, esi
or ebx, 0x505d4cc5
and edx, esi
jmp 0x46f422
mov ecx, dword [ecx]
sub ebx, 0x505e4735
not edi
neg edx
shl edi, 4
xchg edx, esi
xchg edi, edx
bswap edx
xchg edi, ebx
and edx, edi
and ebx, edx
xchg edx, ebx
sub esi, edi
jmp 0x46e372
mov ecx, dword [esp + 0x5c]
dec esi
and esi, ebx
shl esi, 0x12
and edi, ebx
sub esi, edx
mov edi, 0x506c1f0d
neg edi
and edi, ebx
xor ebx, edi
nop
or ebx, edi
or edx, 0x506d91c1
or edx, ebx
xor ebx, esi
jmp 0x46f5a1
ret
mov dword [esp + 0x68], ecx
or edi, edx
mov edi, esi
and edi, edx
neg edx
shr esi, 0x12
shl esi, 0x19
jmp 0x4701f8
mov ecx, dword fs:[ecx]
sub ebx, edx
mov ebx, esi
neg edi
sub edx, 0x507910e3
xchg ebx, edx
sub edx, 0x507988e5
sub esi, edi
or esi, ebx
xchg edi, ebx
and edx, 0x507a8213
xor edx, 0x507abe7f
sub edi, esi
jmp 0x46ca4b
mul ecx
xor ebx, 0x507eb973
mov edi, ebx
add esi, 0x507f2d99
inc edi
mov edi, edx
and ebx, edi
or edx, esi
or edi, edx
and esi, ebx
neg ebx
or edi, esi
and edi, esi
jmp 0x46e28a
mov dword [esp + 0x68], 0
neg esi
and ebx, edx
and esi, ebx
mov edi, 0x5082b601
shr ebx, 0x12
mov ebx, esi
mov edx, ebx
xor esi, edi
jmp 0x46e1a7
add ecx, dword [esp + 0x68]
shl ebx, 0x18
ror ebx, 0xb
add esi, edx
sub esi, edx
not edi
xchg ebx, edi
dec ebx
sub edi, 0x5096234d
sub edi, ebx
or ebx, edx
and edx, esi
bswap edi
jmp 0x4701a3
mov ecx, dword [ecx]
add esi, edx
sub edi, ebx
ror edx, 0x10
bswap edi
and esi, edx
dec ebx
xor esi, 0x50ed39cd
or edx, esi
inc edx
not esi
xor ebx, edi
not esi
jmp 0x46d85d
mov ecx, dword [esp + 0x5c]
mov esi, edi
rol edi, 0x18
and edx, esi
xor ebx, esi
shr esi, 0x18
and edi, ebx
or ebx, 0x5107debf
xchg ebx, esi
dec ebx
dec edi
shl esi, 9
or edi, esi
or esi, edx
not edi
jmp 0x46fc67
mov ecx, dword [esp + 0x68]
add ebx, 0x5109ce3f
xchg ebx, edx
and ebx, 0x510a53d1
xchg edi, edx
xchg ebx, edi
add edx, esi
xchg edi, esi
add ebx, edx
xchg edx, edi
xchg edi, esi
jmp 0x46d95c
rol eax, 8
mov esi, ebx
xor edi, ebx
mov ebx, edi
sub edx, ebx
jmp 0x46d8d1
add ecx, dword [esp + 0x54]
add esi, ebx
mov edi, edx
xor edi, edx
xor edx, ebx
sub edx, ebx
and ebx, edi
sub esi, 0x510f3edf
add esi, 0x510f7af7
jmp 0x46e6dc
add ecx, 0x3c
inc edi
mov esi, edi
xchg edi, esi
sub edx, 0x5113df37
xor ebx, edx
or ebx, esi
jmp 0x46cdb8
add dword [esp + 0x3c], 4
xor esi, edi
add esi, ebx
bswap edx
and ebx, esi
neg esi
sub edi, edx
jmp 0x46ccdd
mov dword [esp + 0x68], ecx
sub edi, ebx
neg edi
mov ebx, 0x51555ff7
mov esi, ebx
shr edx, 5
add edx, ebx
add ebx, edi
and edi, ebx
sub esi, edx
dec ebx
jmp 0x46ee6c
movzx ecx, word [ecx]
xor edx, edi
mov edi, edx
and edx, ebx
and esi, ebx
add esi, edi
neg esi
add esi, edi
shl edx, 0xb
xor edx, edi
xchg edi, ebx
jmp 0x46df40
add ecx, dword [esp + 0x5c]
mov esi, edx
bswap edi
or ebx, esi
add ebx, edx
sub edx, ebx
mov edx, 0x517d5309
xchg esi, edx
xor edx, esi
jmp 0x46cf85
mov ecx, dword [esp + 0x68]
add esi, edx
xchg esi, edi
xchg edi, ebx
ror ebx, 0x14
neg edx
inc edi
mov edx, ebx
nop
jmp 0x46dd07
mov ecx, dword [ecx]
xor ebx, edx
add ebx, 0x518dd359
not esi
or esi, edi
sub ebx, edi
or edi, 0x518ef241
or esi, edi
mov edx, esi
mov edi, esi
xor esi, ebx
jmp 0x46f3c3
mov ecx, dword [esp + 0x5c]
neg ebx
sub esi, 0x5197b255
xchg esi, ebx
xor esi, 0x5198d13d
jmp 0x46ee8b
mov dword [esp + 0x3c], ecx
or edx, 0x51b11fc3
sub esi, edi
not edx
add edx, esi
xor edi, 0x51b2bbab
and edi, 0x51b2f767
xor ebx, edi
add edi, edx
add edi, esi
or edx, edi
xchg edi, ebx
sub edx, ebx
and edi, 0x51b65c7b
xchg edx, esi
jmp 0x46ca18
mov dword [esp + 0x54], 0
sub esi, edx
add edi, ebx
add ebx, esi
not ebx
add ebx, edx
inc esi
xchg esi, edi
ror esi, 0x14
neg ebx
not ebx
shl edx, 0x1f
xor ebx, edx
jmp 0x46d1d7
add ecx, 0x18
and ebx, edx
or edi, edx
add ebx, edi
or ebx, 0x51c892d3
sub edi, edx
xchg ebx, edi
mov edi, edx
neg ebx
jmp 0x46f2fc
sub esp, 0x8c
ror ebx, 0xf
mov ebx, 0x51cf3699
sub edi, edx
or ebx, edi
or edx, 0x51d14073
neg edx
jmp 0x47033d