Function at 0x47841b
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edx, dword [edx]
or esi, ecx
bswap edi
shl esi, 0x19
jmp 0x476709
add dword [esp + 0xcc], 0x20
ror ebx, 0x19
add esi, ebx
ror ecx, 0x1d
sub edi, ebx
xchg ebx, esi
not ebx
xchg ecx, ebx
xor esi, ecx
and esi, ecx
mov edi, ecx
xor edi, 0xe9b81640
sub ecx, edi
ror ecx, 6
add ecx, 0xe9b8d5c6
and edi, 0xe9b9135a
jmp 0x475d96
mov edx, dword [esp + 0x4c]
xchg edi, ebx
xor edi, ecx
add ebx, esi
or ebx, ecx
mov ecx, edi
sub ecx, esi
xor ebx, 0xe9bad468
or edi, ecx
xor edi, ebx
shl ebx, 2
mov edi, esi
xchg edi, ebx
dec ebx
jmp 0x475d77
mov dword [esp + 0x100], 0
add edi, ebx
and esi, 0xe9ca7db7
xor esi, ecx
rol ecx, 0x16
xor ebx, ecx
and ebx, edi
and edi, 0xe9cbc03d
dec ecx
not esi
jmp 0x477c39
add edx, 0xc
add ecx, esi
xchg esi, ecx
add edi, ebx
not ecx
and edi, ecx
mov ebx, 0xe9f01178
jmp 0x47648a
mul edx
or esi, ecx
xchg ebx, ecx
and edi, ebx
mov ebx, 0xe9f11d51
xchg ebx, ecx
bswap ecx
or edi, 0xe9f1dabc
and esi, ebx
or edi, ecx
and edi, esi
or ecx, edi
bswap ecx
sub ebx, esi
xchg ecx, ebx
jmp 0x477547
mov dword [esp + 0x4c], edx
xor esi, ecx
neg edi
nop
shr esi, 0x1e
add ebx, ecx
sub esi, ebx
mov edi, ebx
and ebx, 0xea0765b1
jmp 0x477837
mov edx, dword [edx]
shr ebx, 2
not esi
xor edi, 0xea084be1
shr ecx, 0x1e
rol edi, 7
xchg ecx, ebx
mov edi, 0xea094666
jmp 0x478025
cmp byte [edx], 0
jmp 0x476ae8
mov edx, dword [edx]
mov esi, edi
mov ebx, edi
shl esi, 8
and esi, 0xea28605e
ror esi, 8
jmp 0x47675c
add dword [esp + 0xcc], 4
add edi, ebx
sub edi, ecx
rol ebx, 7
xor esi, ecx
xor ecx, esi
xor esi, 0xea3a3763
inc ecx
mov esi, 0xea3aa9ed
bswap esi
xor ebx, edi
jmp 0x4770e6
cmp eax, dword [esp + 0xa0]
jmp 0x477d22
mul edx
xor ecx, ebx
xor ecx, edi
shr edi, 0x11
and ebx, edi
xor ecx, esi
bswap esi
xor esi, ecx
xchg ecx, ebx
dec ebx
sub esi, edi
xor edi, 0xea4621ba
inc ecx
add esi, ecx
mov ebx, 0xea46c7a2
jmp 0x475efb
mov edx, dword [edx]
add edi, 0xea4ec648
mov edi, ecx
add edi, esi
xor ecx, ebx
xchg edi, ebx
and esi, ebx
sub ebx, esi
or ecx, 0xea505a9e
jmp 0x477385
add edx, dword [esp + 0xcc]
xor ebx, ecx
and ecx, 0xea53df3e
xor edi, ebx
sub ecx, esi
ror esi, 0x10
neg ecx
xor edi, esi
xor ecx, ebx
and esi, edi
mov ecx, esi
mov ecx, edi
shl edi, 9
jmp 0x476f97
mov edx, dword [edx]
inc ecx
mov ebx, edi
xor esi, ecx
dec ebx
and esi, edi
and esi, ebx
shl ebx, 5
or ebx, 0xea9d2d63
sub ecx, esi
ror ecx, 0x1e
jmp 0x47720d
mov edx, dword [esp + 0xcc]
and edi, 0xea9e0419
sub ebx, edi
xchg ebx, esi
sub edi, ebx
or ecx, edi
sub esi, ecx
jmp 0x4750de
mov dword [esp + 0x18], 0
sub ebx, esi
dec edi
and ecx, esi
or ecx, 0xeaa23469
xor ecx, 0xeaa27364
and edi, 0xeaa2c339
sub esi, edi
xor ebx, edi
dec esi
xchg ecx, ebx
mov ebx, esi
jmp 0x47713b
mov dword [esp + 0x18], eax
sub esi, ebx
shr ecx, 0x13
ror edi, 0xd
and edi, ebx
add esi, 0xeab9f93c
add ebx, edi
inc esi
and ecx, 0xeabab481
and edi, ebx
or esi, ebx
add esi, ecx
jmp 0x4778c2
mov edx, dword [edx]
not ecx
and ebx, edi
or edi, ebx
mov esi, ecx
neg esi
neg ebx
jmp 0x476261
mov dword [esp + 0x100], edx
add esi, 0xeaf610e8
and esi, 0xeaf64818
and ebx, 0xeaf680d2
add edi, ebx
xchg ecx, ebx
and edi, esi
add esi, ebx
inc ebx
sub ebx, edi
mov ecx, ebx
sub esi, 0xeaf8487f
mov edi, ecx
jmp 0x476c9e
mov edx, dword [edx]
and esi, 0xeafe1b4e
or ebx, 0xeafe54a1
sub edi, ebx
dec ebx
jmp 0x4753f4
mov edx, dword [edx]
sub esi, ebx
xor edi, ebx
or ecx, ebx
mov edi, 0xeb05261e
shl ecx, 0xd
xchg esi, ebx
or esi, ecx
jmp 0x4766b6
mov edx, dword [edx]
and edi, 0xeb1bfe6b
or esi, ecx
sub esi, ecx
add esi, edi
xor ebx, 0xeb1cdd81
and esi, 0xeb1d1589
xchg edi, esi
sub ebx, 0xeb1d9503
mov edi, esi
xchg ebx, edi
sub edi, ebx
add edi, esi
and ecx, edi
shl ecx, 0xa
jmp 0x477ed4
add edx, dword [esp + 0x18]
or esi, ebx
or ecx, ebx
mov ebx, ecx
sub esi, 0xeb1fd2c6
sub esi, 0xeb200bb2
add edi, 0xeb205266
and ebx, 0xeb208bb8
bswap ebx
and ebx, 0xeb20fc15
sub ebx, 0xeb2135ea
jmp 0x4783f8
mov edx, dword [esp + 0xcc]
or ebx, esi
add edi, ebx
xchg ebx, edi
or ebx, esi
xor esi, edi
inc esi
sub edi, ebx
jmp 0x476349
add dword [esp + 0x4c], 4
dec ecx
xor esi, edi
ror ebx, 4
and ecx, ebx
sub edi, 0xeb2b85db
xchg edi, ecx
bswap ecx
shr ebx, 0x13
jmp 0x475140
add dword [esp + 0xcc], edx
and ebx, edi
add edi, ecx
xor edi, esi
or ecx, 0xeb3de74a
xchg edi, esi
or ebx, 0xeb3e72e2
or ecx, 0xeb3eaf6a
jmp 0x475106
add edx, dword [esp + 0x100]
or esi, ecx
add ebx, 0xeb432391
and ecx, esi
add ebx, 0xeb439de7
and ecx, edi
xchg ecx, edi
or edi, 0xeb4453d4
xor ecx, 0xeb458409
neg edi
xor ebx, esi
sub esi, ebx
xchg edi, esi
and edi, ebx
xchg edi, ebx
not ebx
jmp 0x477b41
add edx, dword [esp + 0x100]
shl ecx, 0x14
shl ebx, 0xe
xchg ebx, edi
and ebx, ecx
xchg edi, ecx
sub ecx, edi
nop
and ebx, ecx
and esi, edi
or ebx, esi
xchg edi, esi
or ebx, esi
xchg edi, ecx
and ebx, esi
add ebx, edi
xchg edi, ecx
jmp 0x477b61
mov dword [esp + 0xcc], edx
shr ecx, 0x1b
xor ecx, esi
or esi, ebx
and edi, esi
ror esi, 3
xchg ecx, edi
sub edi, esi
shl ebx, 0x1b
sub ecx, esi
shl edi, 0x17
xchg ecx, esi
add ebx, ecx
bswap esi
not ecx
jmp 0x476811
add dword [esp + 0xcc], 0x78
shl ecx, 7
xchg edi, ebx
mov esi, ebx
add edi, esi
and ebx, edi
not esi
jmp 0x476b10
add esp, 0x110
shl edi, 0x16
xor esi, ecx
shr ecx, 8
rol edi, 0x19
sub edi, esi
and ebx, ecx
add ecx, edi
and edi, 0xeb6944a5
dec edi
mov esi, edi
or ecx, ebx
xor edi, ebx
jmp 0x477c72
jne 0x476c4d
mov edi, esi
sub ecx, edi
add esi, ecx
inc edi
add ecx, 0xeb994099
neg ebx
or esi, ecx
mov ebx, esi
bswap edi
or esi, edi
add edi, 0xeb9ac4e0
jmp 0x47734f
mov edx, dword [esp + 0x100]
mov ebx, 0xeb9b1829
sub edi, ebx
rol ecx, 0x1f
neg esi
xor ecx, ebx
ror ecx, 7
xchg esi, edi
xor esi, 0xeb9ce2da
bswap ecx
add ecx, ebx
mov esi, 0xeb9d9c87
or ebx, ecx
jmp 0x4759ac
movzx edx, word [edx]
sub ecx, esi
and edi, ecx
not edi
xchg esi, edi
and ecx, edi
ror edi, 0x1a
shl edi, 0x1a
mov esi, 0xeba7ed65
jmp 0x47540b
xor al, byte [edx]
and ebx, esi
xchg esi, edi
sub esi, ecx
and ecx, ebx
mov ebx, edi
xor esi, 0xebb38acd
mov ecx, ebx
bswap edi
rol ebx, 0x1a
jmp 0x476fca
mov edx, dword [esp + 0x100]
shr edi, 0x17
sub ecx, esi
not ebx
sub edi, 0xebb929e6
neg edi
sub ebx, ecx
shr esi, 0x1f
and ecx, 0xebba2467
jmp 0x477476
mov dword [esp + 0xcc], edx
or ebx, esi
xchg edi, esi
sub ebx, esi
xchg ebx, edi
and ecx, esi
add edi, ecx
and esi, ecx
neg ebx
bswap esi
bswap edi
jmp 0x476e43
mov edx, dword [esp + 0x100]
neg ecx
mov ecx, esi
ror edi, 0x18
not esi
sub ebx, edi
add ecx, 0xebd68c93
mov ecx, ebx
or ecx, edi
add esi, ebx
add edi, esi
mov edi, ebx
jmp 0x476664
push edx
sub edi, ebx
add ebx, esi
xor ebx, 0xebdd3d10
neg edi
or ecx, 0xebddb93d
not esi
inc esi
sub ecx, ebx
jmp 0x477c07
mov edx, dword [edx]
xor edi, ebx
inc ecx
jmp 0x476d4d
rol eax, 8
add ebx, 0xebf2882d
or edi, 0xebf2c545
xchg ebx, esi
sub ecx, edi
not ecx
sub esi, ebx
rol esi, 0xa
shr edi, 0xd
and ebx, 0xebf482f9
xor esi, 0xebf4bf47
and ebx, ecx
jmp 0x477302
mov edx, dword [esp + 0xcc]
inc ecx
xor edi, ecx
xor esi, ebx
xor edi, esi
jmp 0x47808e
mov edx, dword [esp + 0x4c]
bswap edi
xor ebx, edi
xor esi, ecx
ror ecx, 0x1a
not esi
xchg ecx, esi
not esi
xor esi, ecx
bswap ecx
inc ecx
and ecx, ebx
jmp 0x4764be
mov dword [esp + 0x4c], 0
inc ecx
xor esi, 0xec3b88fc
xor ecx, edi
mov edi, 0xec3c0136
inc edi
add ebx, esi
not ecx
jmp 0x475209
inc dword [esp + 0x18]
rol edi, 6
sub ecx, esi
add ecx, esi
or ecx, esi
mov esi, ebx
xor ecx, edi
inc edi
add ebx, esi
add ecx, 0xec45d347
xor esi, edi
and ebx, ecx
xchg edi, esi
sub ecx, ebx
jmp 0x476569
add edx, dword [esp + 0x100]
add ecx, 0xec4a1daa
shr ecx, 0x1b
and ebx, ecx
sub ecx, esi
add esi, 0xec4b88fe
add esi, ecx
inc ecx
jmp 0x476ea9
inc edx
rol esi, 9
neg ebx
not ecx
or esi, edi
or ecx, ebx
xchg esi, ecx
and edi, ebx
and esi, 0xec5c6a28
and ecx, 0xec5ca8b0
jmp 0x47563f
pop edx
not edi
xor ebx, edi
xor ecx, ebx
xchg edi, esi
sub ebx, esi
add edi, ecx
inc ebx
shr edi, 0xd
jmp 0x475868
add edx, 0x18
xor edi, ebx
nop
shr ebx, 0x19
jmp 0x4761b0
add edx, 0x3c
and ecx, ebx
xor ebx, ecx
mov esi, ebx
or ebx, esi
and ecx, edi
shr ebx, 0x13
add esi, ecx
or ebx, esi
jmp 0x475705
add dword [esp + 0xcc], eax
xchg ebx, ecx
and ebx, ecx
and ebx, esi
sub ebx, 0xec842f11
inc ecx
bswap esi
not edi
add esi, edi
mov esi, 0xec8572c8
jmp 0x477fdf
add edx, dword [esp + 0x100]
rol ecx, 1
rol edi, 0xc
dec esi
sub esi, ebx
xchg esi, ebx
xor ecx, esi
add ecx, 0xec8f191d
or edi, ecx
mov ecx, ebx
add edi, ebx
or esi, ecx
xor esi, ebx
and ebx, esi
jmp 0x47551f
mov eax, 2
xor ecx, 0xecbebe96
xor edi, 0xecbf0f8d
bswap esi
shl esi, 0xc
nop
jmp 0x477871
mov edx, dword [esp + 0x18]
rol ebx, 0x17
sub ebx, edi
ror ebx, 0x14
sub esi, edi
xor ebx, esi
rol edi, 5
sub ebx, edi
inc ebx
dec esi
and ecx, ebx
shr ecx, 0xd
neg ecx
jmp 0x4758c6
sub dword [esp + 0xcc], 8
add ebx, esi
mov ecx, edi
jmp 0x4764f6
mov dword [esp + 0xcc], edx
mov ecx, 0xeda590bc
add ebx, edi
inc ecx
and edi, ebx
mov edi, esi
add ecx, edi
mov ebx, esi
sub ebx, edi
not esi
jmp 0x477119
mov dword [esp + 0x4c], edx
dec esi
add edi, esi
or edi, esi
sub ecx, ebx
ror esi, 0x1c
neg esi
shr ebx, 0x1d
add edi, 0xeda98bf9
jmp 0x4771bc
xor eax, eax
rol esi, 0x1b
sub ecx, ebx
mov esi, ebx
sub esi, ecx
or ebx, esi
xor edi, ebx
jmp 0x476c4d
mov dword [esp + 0xcc], 0
or esi, edi
not esi
shl edi, 0xd
jmp 0x478042
ret
jne 0x4771bc
xor edi, esi
not ecx
mov ebx, edi
xchg esi, ebx
neg esi
mov esi, ebx
mov ecx, 0xedc8705c
and ecx, edi
or esi, 0xedc8ecfd
jmp 0x47580c
mov edx, dword [edx]
or ebx, esi
sub esi, 0xede5f65f
mov ecx, 0xede634bc
xchg ebx, esi
sub ecx, 0xede6c0d4
shl ebx, 0x13
ror ebx, 0x19
add ecx, 0xede779f4
and ecx, esi
jmp 0x47595f
mov edx, dword [esp + 0xcc]
not edi
bswap ebx
rol esi, 0x11
and ecx, ebx
rol ebx, 0xe
rol ecx, 8
or ebx, ecx
neg ebx
xchg ecx, esi
or edi, ecx
mov esi, ecx
sub ecx, esi
sub edi, ebx
or esi, ebx
sub esi, ebx
jmp 0x47553f
add edx, dword [esp + 0x100]
sub esi, ecx
sub edi, ecx
add ecx, edi
sub esi, edi
xor ecx, esi
sub esi, edi
xor ebx, edi
xor ebx, esi
dec ecx
jmp 0x476896
mov dword [esp + 0xa0], edx
xor esi, edi
mov esi, 0xee039cd4
xchg esi, ebx
and edi, 0xee041920
neg ecx
sub edi, 0xee049890
xor esi, ebx
neg edi
and edi, ecx
sub ebx, ecx
ror esi, 0xe
xor edi, esi
bswap edi
jmp 0x478336
mov edx, dword [edx]
xor esi, 0xee0c550a
and esi, 0xee0cd10c
xor esi, edi
rol esi, 0x14
xor ecx, ebx
bswap ebx
xor edi, 0xee0f1eef
add edi, esi
dec ecx
mov ebx, esi
xor ecx, 0xee10ef22
inc ecx
dec ebx
xor esi, ebx
and ecx, esi
jmp 0x4775df
mov edx, 0x30
xor esi, ecx
shl ebx, 3
or ebx, 0xee48ad40
bswap ebx
or edi, ecx
or edi, ecx
shr esi, 0x13
jmp 0x4783ac
add edx, 0xc
sub ecx, 0xee49f70b
rol ecx, 0x1b
xor ebx, ecx
mov ebx, esi
jmp 0x4762e9
mov edx, dword fs:[edx]
add esi, 0xee50a8ff
add edi, ebx
shl edi, 0x1b
jmp 0x478354
mov eax, 4
or ebx, ecx
mov esi, edi
inc ebx
xchg ebx, esi
or ebx, 0xee56f75d
mov esi, 0xee573602
mov esi, ebx
rol edi, 0x15
xchg edi, ebx
jmp 0x476ba8
sub esp, 0x110
add ecx, ebx
and ebx, 0xee58f51f
xor ecx, edi
xchg esi, ecx
add ecx, edi
xor ebx, edi
bswap ebx
neg esi
shr edi, 0x15
shr ebx, 0x10
mov ebx, ecx
or ecx, ebx
jmp 0x475dca