Function at 0x47726e
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp eax, dword [esp + 0xc4]
jmp 0x476995
mov ebx, dword [ebx]
add edx, ecx
nop
mov ecx, edi
xchg edx, esi
and edx, edi
ror edi, 0x14
xchg esi, edi
and edx, esi
add edx, edi
rol edi, 0xc
xor esi, 0x908d2a2e
jmp 0x475ffb
mov dword [esp + 0xe0], 0
sub esi, edx
xchg edi, edx
mov esi, 0x90907ceb
xor edx, 0x9090bd89
dec edi
sub edi, esi
sub edi, ecx
xchg esi, ecx
xchg edi, esi
jmp 0x477e7e
mov eax, 4
mov edx, edi
and ecx, edx
sub edx, 0x9098f6c3
xchg ecx, edi
xchg ecx, edi
neg edx
not edx
dec esi
mov ecx, esi
or ecx, esi
sub esi, edi
xchg edx, ecx
and esi, edx
xor ecx, esi
bswap esi
jmp 0x475785
movzx ebx, word [ebx]
and esi, 0x90bddb5f
or edx, edi
neg esi
nop
xchg esi, edx
jmp 0x475fcc
xor eax, eax
xor edx, 0x90c2c6d8
sub esi, edi
xchg edi, ecx
or edx, ecx
bswap edi
mov edx, 0x90c41133
or edi, ecx
sub ecx, edi
jmp 0x477857
add dword [esp + 0xe0], eax
and edi, edx
add edx, ecx
sub esi, 0x90c55b33
not edi
sub ecx, 0x90c5ea54
xchg esi, edx
jmp 0x477e0b
add ebx, dword [esp + 0xe0]
or edx, ecx
rol ecx, 9
inc esi
jmp 0x477056
mov ebx, dword [ebx]
and esi, edi
mov esi, edx
add esi, 0x90e52972
xor ecx, 0x90e568bd
rol esi, 0x16
xor esi, ecx
mov esi, ecx
xchg ecx, edi
xchg ecx, edi
shl edi, 0xf
or edx, edi
jmp 0x475be2
mov dword [esp + 0xf4], 0
dec edx
mov esi, ecx
and ecx, 0x90e801af
or esi, edx
mov esi, 0x90e87a83
jmp 0x476c58
mov ebx, dword [esp + 0x54]
bswap esi
and esi, ecx
add edi, esi
sub edx, esi
rol edx, 8
add ecx, esi
jmp 0x477c44
ret
add ebx, dword [esp + 0x54]
sub edi, ecx
shr ecx, 2
add edx, ecx
add esi, edi
or edi, esi
jmp 0x476bdb
add dword [esp + 0x3c], 4
add edi, 0x91237c54
neg edi
ror edx, 8
sub esi, edi
xchg esi, edi
and esi, ecx
add esi, edx
and edi, esi
and edi, 0x91257176
xchg edi, esi
ror esi, 1
sub ecx, esi
add ecx, edi
mov ecx, edi
jmp 0x477d3b
add ebx, dword [esp + 0x54]
sub edx, edi
add ecx, edi
xor esi, edi
shl edx, 5
ror edi, 0x13
xchg edi, edx
and esi, edx
not edx
add edx, ecx
xor edi, edx
add edi, 0x9130bbdd
mov ecx, edx
jmp 0x47757f
add ebx, dword [esp + 0x54]
or edi, esi
xchg edi, esi
xchg esi, ecx
ror edx, 5
neg edi
mov edi, esi
neg edx
add esi, edx
add ecx, esi
sub edi, edx
jmp 0x476848
cmp byte [ebx], 0
jmp 0x4761e0
mov ebx, dword [esp + 0xe0]
xchg edi, edx
xor edi, esi
sub edx, ecx
add ecx, 0x9153a8aa
add ecx, edi
jmp 0x477ba1
mul ebx
xor edi, ecx
and edx, 0x915e48e5
or ecx, edi
or esi, ecx
inc esi
inc edi
and ecx, esi
add esi, 0x915fbd2e
xor ecx, esi
sub edx, 0x91604cd8
add edi, edx
or esi, edx
or edx, esi
xchg ecx, esi
add ecx, esi
jmp 0x4757f4
mov dword [esp + 0xe0], ebx
mov edi, ecx
or edx, ecx
xchg ecx, esi
xor edi, edx
or edx, edi
mov ecx, edx
rol edx, 0xe
add edi, esi
shr ecx, 0x15
xchg esi, edi
not edx
xchg esi, edi
add esi, edi
add esi, edx
shr edi, 0x11
xor edx, 0x91657f75
jmp 0x4771c8
add dword [esp + 0xe0], ebx
xchg edx, esi
rol edi, 0x13
add edi, ecx
add esi, 0x9170809e
xor edx, esi
xor edi, edx
inc edx
jmp 0x4774c5
add ebx, dword [esp + 0x54]
and esi, edx
bswap edx
dec edi
xor ecx, 0x917fa46a
add edx, edi
sub esi, 0x91801ee5
add esi, edx
not edi
rol ecx, 9
neg ecx
bswap esi
xchg edi, esi
add edi, edx
shr edx, 0x15
jmp 0x476424
jne 0x477857
bswap ecx
inc edi
and edi, edx
inc edi
or esi, edi
sub edx, esi
or edx, edi
add esi, edx
or edx, 0x9187de6f
add esi, edx
add ecx, edi
jmp 0x477de8
mov dword [esp + 0xe0], ebx
not ecx
shr esi, 0x14
and edx, 0x918fdf74
or ecx, edx
rol edx, 0x11
or esi, ecx
mov esi, 0x9190e8e4
or edi, esi
bswap edx
ror esi, 4
jmp 0x477ce8
mov dword [esp + 0x54], 0
bswap edx
bswap edx
nop
mov ecx, 0x9193d4b3
add ecx, edx
dec edx
dec edx
or ecx, edi
xor edx, ecx
and esi, ecx
or edi, 0x91958bb4
and edx, ecx
and edi, ecx
and edx, esi
jmp 0x47552a
mul ebx
and edi, ecx
xor edx, edi
nop
shl edx, 1
or edi, 0x9197976f
not edx
neg edx
and edx, esi
mov edx, 0x91988f9f
add edi, 0x9198d035
dec edi
xor edx, edi
jmp 0x476676
add ebx, dword [esp + 0xf4]
xor esi, 0x91999f70
add esi, 0x9199ddb9
shl esi, 0x1a
mov edx, 0x919a6775
xor ecx, 0x919aa5e3
jmp 0x475598
mov ebx, dword [ebx]
dec edi
neg edx
shl ecx, 0xc
shr esi, 0x18
xor edx, ecx
mov ecx, edx
shr ecx, 5
xchg esi, edi
shr edi, 0x15
xor edi, edx
sub esi, edx
dec esi
inc ecx
jmp 0x476ac9
mov ebx, dword [esp + 0x3c]
and edi, edx
rol ecx, 0xf
mov edi, ecx
sub edi, ecx
mov ecx, 0x91b0cb78
sub esi, 0x91b10957
add ecx, edi
and edi, ecx
sub esi, ecx
and edx, esi
add edx, edi
xor esi, edi
jmp 0x4762f1
mov dword [esp + 0x3c], ebx
inc ecx
and ecx, esi
mov edx, edi
sub edi, edx
jmp 0x4774a4
mov ebx, dword [esp + 0xe0]
or edi, 0x91b65616
mov ecx, edi
bswap edx
shr edi, 6
add edx, 0x91b74e76
bswap ecx
shr edx, 0x11
xchg edi, esi
mov ecx, edx
sub esi, edx
sub edx, edi
mov edx, esi
bswap edi
add esi, 0x91b9863f
add edx, esi
jmp 0x476c81
mov ebx, dword [ebx]
sub edx, edi
xor edi, esi
mov ecx, edx
add ecx, edx
mov edx, edi
not edx
sub edx, ecx
or edx, ecx
or edi, edx
jmp 0x47636b
mov ebx, dword [ebx]
and esi, ecx
shr edi, 0x10
or edi, esi
sub edx, ecx
and ecx, edx
bswap ecx
xor edx, edi
mov ecx, edi
or ecx, esi
and edx, esi
not edi
jmp 0x476188
mov dword [esp + 0xf4], eax
rol edx, 0x13
or edi, edx
shl esi, 7
add esi, edx
or ecx, edi
xor esi, ecx
xchg ecx, esi
neg ecx
xor esi, 0x91e5e6a1
mov edi, edx
jmp 0x47734e
mov dword [esp + 0x3c], ebx
mov ecx, 0x9205c240
add edi, ecx
sub edx, 0x92063e6a
add edx, ecx
and ecx, edx
or esi, 0x92072a51
mov esi, edx
mov esi, ecx
jmp 0x477415
jne 0x477415
and ecx, 0x921d37e4
xchg esi, ecx
mov ecx, edx
mov edi, ecx
mov ecx, edi
shl edi, 6
or edx, ecx
xchg edx, ecx
add esi, edi
jmp 0x476fe5
mov dword [esp + 0xe0], ebx
not ecx
shl edi, 0x16
shl edx, 0x1a
mov esi, edi
and edi, ecx
add esi, edx
jmp 0x4763dd
mov ebx, dword [ebx]
mov edi, esi
bswap ecx
add ecx, 0x9229d1fe
jmp 0x477bca
add ebx, 0x18
dec esi
mov edx, ecx
sub edi, 0x9234c644
or edi, esi
mov ecx, edi
and edx, edi
neg ecx
add edi, 0x9235f4bf
inc edx
bswap edi
jmp 0x476a3c
push ebx
ror esi, 0xb
xchg edx, ecx
sub edx, 0x924879eb
rol edi, 0x16
xor edi, 0x9248f917
jmp 0x4757d6
mov dword [esp + 0x3c], 0
shl ecx, 0xd
or edx, ecx
mov edx, esi
and edi, ecx
mov esi, edi
xor edx, esi
and edx, edi
sub ecx, esi
xchg ecx, esi
sub esi, 0x9252ac3d
jmp 0x476298
mov ebx, dword [ebx]
xor ecx, edi
and edi, ecx
or edx, edi
and edi, 0x9253c9c6
xor edi, 0x92540838
xor ecx, 0x925447f4
inc ecx
mov esi, edx
jmp 0x475e0c
mov ebx, dword [ebx]
and edi, 0x9274c84e
sub edi, 0x927508f1
or esi, edx
xchg edx, esi
neg edx
sub ecx, esi
or edi, ecx
shr edx, 0x12
jmp 0x475db2
add dword [esp + 0xe0], 4
sub edx, ecx
or edi, edx
add esi, edx
add edi, esi
mov edi, edx
or edi, edx
jmp 0x4777c2
mov ebx, dword [ebx]
shr ecx, 0x13
ror esi, 0x13
rol esi, 7
bswap ecx
ror edx, 0xb
and esi, edi
shl edx, 0x12
xor ecx, esi
xor edi, ecx
xchg edx, ecx
mov ecx, esi
jmp 0x47625c
add ebx, 0xc
mov ecx, edi
rol ecx, 0xe
jmp 0x4777a9
add dword [esp + 0xe0], 0x78
and edi, ecx
bswap edi
or ecx, edx
dec esi
inc edi
jmp 0x477827
sub esp, 0x13c
and edx, 0x92c42f36
xchg edi, esi
and ecx, edx
add esi, edi
add esi, edi
add ecx, esi
add edx, esi
jmp 0x47598b
mov ebx, 0x30
xor edx, ecx
mov esi, ecx
xor esi, ecx
add edx, ecx
inc esi
or edi, esi
xor esi, 0x92c77d69
xor ecx, edi
jmp 0x4775bc
sub dword [esp + 0xe0], 8
not edx
and edx, esi
xor esi, edx
or edx, 0x92d57f10
mov edx, esi
add edi, 0x92d5fad0
xor edi, 0x92d63935
xchg esi, edi
xchg edi, ecx
or edi, ecx
or esi, 0x92d742bf
and edx, esi
and edx, edi
jmp 0x475f21
inc dword [esp + 0xf4]
and esi, edx
or ecx, edx
shl edi, 0xf
add ecx, esi
ror ecx, 0x1f
xor edi, esi
sub edi, edx
dec ecx
not esi
dec esi
and edx, edi
not edx
neg edi
jmp 0x475d0e
mov eax, 2
mov edx, ecx
and edx, ecx
or edx, esi
and esi, edi
and edi, ecx
add edx, esi
shl edi, 0x14
xor edi, esi
or esi, 0x92f018c1
jmp 0x4779f0
add dword [esp + 0xe0], 0x20
xor ecx, edx
mov ecx, 0x92f0abfe
mov edx, 0x92f0ea86
xchg edx, esi
add edx, ecx
and edi, ecx
sub edx, esi
and ecx, edx
sub esi, 0x92f2709f
xor edx, ecx
add edi, edx
xchg edi, esi
and edi, ecx
add edx, ecx
jmp 0x476437
add esp, 0x13c
sub edi, 0x92ff3c88
add edi, edx
shr esi, 0x17
add edx, esi
and ecx, edi
jmp 0x475b17
mov ebx, dword fs:[ebx]
mov esi, edx
and ecx, edx
jmp 0x477116
mov ebx, dword [ebx]
sub esi, edi
sub edi, 0x93b5beec
and esi, edi
add edx, ecx
bswap edi
sub esi, edi
bswap esi
jmp 0x4778ee
mov ebx, dword [esp + 0xe0]
nop
xor edx, edi
xchg edx, ecx
or edi, esi
add esi, 0x93b851ad
xor edx, edi
or edi, edx
jmp 0x47650e
mov ebx, dword [esp + 0x54]
mov edx, 0x93be6458
and esi, 0x93bea2ed
sub ecx, esi
add esi, ecx
xor ecx, esi
not edi
shr esi, 0xb
jmp 0x4758fd
xor al, byte [ebx]
mov esi, edi
or ecx, edi
sub ecx, edx
xor edi, 0x93c19836
and ecx, 0x93c1d6a2
not esi
and ecx, esi
or edi, esi
sub edi, edx
jmp 0x477b87
add ebx, 0xc
mov ecx, 0x93d40404
and edi, 0x93d49ce3
xor edi, edx
and ecx, edi
dec ecx
add esi, 0x93d66f19
add edx, esi
jmp 0x477b3a
mov ebx, dword [esp + 0xf4]
shl ecx, 0x14
xchg esi, edi
xchg esi, edx
add ecx, edi
add edx, esi
mov edx, esi
and edi, edx
sub edi, esi
xor edx, ecx
or edi, edx
add ecx, edx
or edx, esi
jmp 0x4762c8
add ebx, dword [esp + 0x54]
mov edi, 0x9400c640
and ecx, 0x9401430a
add edi, ecx
xchg edi, edx
xor ecx, esi
rol esi, 0x16
add edi, ecx
sub ecx, esi
xchg esi, edi
sub esi, ecx
jmp 0x4769f5
mov ebx, dword [ebx]
xor ecx, edi
xchg ecx, edi
and esi, 0x9437a814
dec esi
xor ecx, edi
xor edx, ecx
add edx, 0x9438ae5d
sub esi, 0x9438ec02
not esi
mov edx, esi
xchg ecx, edx
jmp 0x4764ad
rol eax, 8
shr edi, 0x17
mov edi, edx
inc ecx
xor esi, edx
mov esi, ecx
xor edi, ecx
xchg edx, edi
add esi, edx
add edi, edx
jmp 0x477d74
mov ebx, dword [ebx]
or esi, ecx
mov ecx, esi
xchg ecx, esi
bswap esi
add edi, ecx
mov edx, ecx
add edx, esi
xor ecx, esi
mov edx, esi
jmp 0x477a35
mov dword [esp + 0x54], ebx
not ecx
and esi, edx
xor edx, esi
rol esi, 0xb
mov ecx, 0x94432001
or esi, ecx
jmp 0x4759dd
add ebx, 0x3c
dec edi
xchg ecx, edi
neg edx
sub edx, esi
nop
dec esi
xor ecx, 0x944c5032
or ecx, esi
ror edx, 0x1a
jmp 0x4754dd
mov ebx, dword [esp + 0x54]
or ecx, edi
xchg ecx, edx
jmp 0x4760af
mov ebx, dword [esp + 0x3c]
and esi, edx
mov esi, 0x945d44a0
mov edi, esi
shl ecx, 0xc
sub ecx, edx
shr edi, 2
sub esi, ecx
sub esi, edx
add edx, esi
jmp 0x475964
inc ebx
sub esi, edx
xor edi, edx
xchg ecx, edx
and edx, 0x946151f0
inc edi
xor edx, edi
inc edx
and ecx, 0x94625bc2
jmp 0x475ec3
pop ebx
xor esi, ecx
xor ecx, edi
xor esi, edx
xchg esi, ecx
mov ecx, 0x94697058
dec esi
and edx, 0x9469ed16
mov ecx, edi
inc esi
mov edi, 0x946aa34d
dec edi
jmp 0x47534e
mov ebx, dword [esp + 0xe0]
xor esi, 0x946b3322
and esi, ecx
and edi, edx
add edx, ecx
jmp 0x476e23
mov dword [esp + 0xc4], ebx
add edx, esi
mov esi, 0x9473c825
mov edx, ecx
xchg edx, edi
xchg edx, esi
sub edi, 0x9474ba0b
xor esi, ecx
dec edx
sub edi, edx
xor edi, ecx
sub esi, ecx
shr edi, 0x18
or edx, 0x947679f8
jmp 0x47728b