Function at 0x478f9b
Capabilities:
Encrypt data using chaskey

Disassembly:
push ebx
and edi, 0x88e7e0f
dec ecx
and ecx, esi
and edx, edi
and esi, edx
sub esi, 0x890788f
or esi, edi
and edx, esi
xor edi, ecx
xor edi, 0x89185ff
add edi, 0x891c54d
add edi, esi
jmp 0x4778a2
mov ebx, dword [ebx]
shl esi, 9
xchg ecx, edx
nop
sub edx, 0x89317db
inc ecx
add ecx, esi
and edx, ecx
dec esi
shl edx, 0xd
or esi, ecx
and ecx, 0x894df0b
mov esi, 0x8951e99
inc ecx
not ecx
jmp 0x475e49
mov dword [esp + 0xf0], ebx
dec edi
or edi, ecx
mov ecx, edi
add ecx, 0x8a7919b
mov edi, edx
mov esi, ecx
shr edx, 0xa
and esi, edx
jmp 0x478152
add dword [esp + 0x40], ebx
mov ecx, esi
not edx
xchg esi, edi
add edx, ecx
mov edx, esi
mov edi, edx
add esi, edx
xor ecx, edx
bswap edi
xor ecx, 0x8ad5f4b
jmp 0x475b2e
add ebx, 0xc
ror edx, 7
and ecx, esi
inc esi
xor edi, esi
dec edi
mov edi, 0x8b2b8bf
inc ecx
and esi, 0x8b3302b
jmp 0x4752ae
add dword [esp + 0x40], 4
not edx
add esi, edx
add edi, edx
neg ecx
or esi, edi
dec edx
and edi, ecx
xor esi, edx
add ecx, edi
or ecx, esi
add edx, edi
and ecx, edi
inc ecx
shr esi, 0xe
jmp 0x477b27
add ebx, dword [esp + 0xbc]
neg edi
and ecx, 0x8e79db1
add edi, 0x8e7d935
mov esi, 0x8e814b1
mov edi, 0x8e8504d
or edx, ecx
or edx, ecx
shr ecx, 0xb
xchg edi, esi
bswap esi
xchg edi, edx
and ecx, edx
not ecx
sub edi, edx
jmp 0x4753d7
add ebx, dword [esp + 0x40]
add esi, ecx
xor edi, ecx
mov esi, 0x8efa287
inc edx
rol edx, 6
and edx, 0x8f056e1
xor edx, edi
or esi, 0x8f0dc05
xor edi, ecx
xchg esi, edx
mov edi, esi
or esi, 0x8f1c657
mov esi, edx
and esi, edx
jmp 0x478afd
mov ebx, dword [esp + 0xbc]
dec esi
xor ecx, edx
add ecx, edx
neg esi
mov ecx, edx
add ecx, 0x8f5b12f
bswap edx
mov esi, 0x8f6382f
not edx
xor edi, esi
sub edx, esi
mov edi, esi
jmp 0x475415
mov dword [esp + 0x2c], eax
xchg edx, esi
mov edi, edx
and esi, ecx
xchg esi, edx
mov edi, esi
sub esi, 0x8fef60b
sub edx, 0x8ff4195
or esi, ecx
xor edx, 0x8ffb73d
mov edi, edx
bswap edx
add esi, edx
jmp 0x475dec
mov dword [esp + 0xf0], ebx
or esi, ecx
xor esi, edx
inc edi
or edi, esi
or edx, 0x901e6fb
xchg esi, edx
add edx, ecx
or esi, 0x9029515
jmp 0x47598b
mov eax, 2
sub edi, 0x90ca973
bswap esi
mov edx, esi
xchg edi, edx
and edx, esi
and edx, 0x90de157
or esi, edx
sub edx, edi
inc edi
add ecx, edi
mov edi, esi
bswap edx
jmp 0x476948
inc ebx
rol edi, 5
mov ecx, edi
shl edx, 0x14
and ecx, edi
or edi, 0x910c719
ror esi, 0x13
neg esi
mov ecx, 0x91187bd
mov ecx, esi
bswap ecx
jmp 0x47768c
jne 0x478152
and ecx, edi
or edi, 0x91a0da7
add edi, ecx
and edx, edi
xor esi, 0x91ac7c5
sub edx, 0x91b0683
mov edi, esi
sub ecx, edi
jmp 0x4754b4
add ebx, dword [esp + 0xbc]
add esi, edi
xor esi, edi
xchg esi, edx
dec edx
rol ecx, 0x18
bswap ecx
shr ecx, 6
xchg esi, edi
shr ecx, 2
sub ecx, esi
jmp 0x477827
jne 0x476ae8
add esi, 0x923d849
and esi, 0x9241795
xor esi, ecx
or ecx, 0x9249649
mov ecx, esi
xchg edx, edi
jmp 0x476aff
add dword [esp + 0x40], 0x20
xor edi, ecx
inc esi
shr edx, 6
sub edx, 0x92bba39
add ecx, edx
or edx, 0x92c2e05
jmp 0x4767f7
ret
sub dword [esp + 0x40], 8
xor edi, esi
sub ecx, 0x9596155
or ecx, edi
sub edi, 0x959d68b
not edi
rol ecx, 0xa
bswap ecx
xor esi, ecx
mov ecx, edi
or edx, edi
jmp 0x476fd2
add ebx, 0xc
sub edi, esi
shl edx, 0x15
and ecx, edx
or esi, 0x960b201
xchg ecx, edi
mov ecx, 0x96138d3
jmp 0x47925a
add ebx, dword [esp + 0xbc]
and esi, ecx
or esi, ecx
shl edx, 0xc
not edi
xor edx, 0x962862f
xor esi, 0x962c24f
jmp 0x476265
mov ebx, dword [ebx]
inc edi
sub edi, 0x981581d
xor ecx, edi
add esi, edi
add ecx, edi
rol ecx, 0x1f
xchg esi, ecx
shr ecx, 0xe
jmp 0x475766
mov ebx, dword [esp + 0xbc]
xchg ecx, esi
neg esi
neg edx
ror esi, 0x1b
or ecx, edx
shl edi, 0x1b
xchg ecx, esi
dec ecx
dec edi
sub edi, 0x9877489
ror ecx, 0x1e
mov edi, ecx
xor ecx, esi
and ecx, edi
neg edi
mov esi, edx
jmp 0x4757db
mov eax, 4
mov esi, 0x996e12d
rol edi, 0xd
xchg edx, esi
shr edi, 0x17
sub esi, edx
xchg esi, ecx
xchg edx, esi
neg edx
ror ecx, 6
bswap edx
add ecx, 0x99944cd
sub edx, 0x9998007
xor edx, esi
shr edi, 0x14
jmp 0x47622e
movzx ebx, word [ebx]
mov edx, ecx
xor edi, ecx
xchg edi, ecx
ror edx, 1
inc ecx
or edi, esi
or ecx, edx
or esi, edi
shr ecx, 0x12
add edx, ecx
rol edx, 0xc
inc edx
jmp 0x477afb
add esp, 0x15c
or esi, ecx
xor edx, 0x9ac3f93
dec edi
rol esi, 0x10
not esi
or esi, 0x9ad3211
and edi, ecx
nop
jmp 0x475c92
add dword [esp + 0xf0], 4
add edx, esi
xchg esi, edx
or edi, ecx
xchg esi, edi
xchg ecx, esi
add esi, edx
inc edi
mov edi, 0x9cda623
xchg ecx, edi
not ecx
xchg ecx, esi
xor edx, 0x9ce9b5f
jmp 0x478ea7
add dword [esp + 0x40], eax
or edx, ecx
rol ecx, 7
xor esi, 0x9d7017b
mov esi, edi
mov esi, edi
mov edi, edx
add edi, edx
sub edx, esi
xor edx, esi
mov ecx, edi
xor ecx, edx
shl esi, 0x1c
and edx, edi
shr esi, 9
jmp 0x477926
mov ebx, dword [ebx]
mov esi, 0x9e60d49
and edi, 0x9e6483f
sub ecx, esi
rol esi, 0x12
or esi, edi
not esi
mov edi, ecx
rol edi, 0x15
dec edx
xor edi, edx
xchg ecx, edi
xchg edi, edx
or edx, 0x9e8e36d
xor esi, edx
and ecx, 0x9e95955
xor edx, 0x9e99491
jmp 0x477417
mov ebx, dword [ebx]
add ecx, edx
inc edx
or esi, 0xa01a32f
sub edi, ecx
inc edi
xor esi, edx
xor ecx, 0xa028f4b
shl ecx, 0x1d
and ecx, edx
shl ecx, 7
jmp 0x475a84
add ebx, 0x18
xchg edx, esi
add esi, ecx
xor edx, esi
add ecx, edi
sub ecx, esi
or edi, 0xa0de9e7
xchg edi, esi
xchg esi, ecx
add esi, 0xa0ead7f
mov esi, 0xa0ee8b7
xchg ecx, edx
inc edx
jmp 0x47655f
mov ebx, dword [esp + 0x40]
add edi, ecx
rol ecx, 0x14
and ecx, edx
or esi, 0xa144afb
xor edi, ecx
not esi
jmp 0x476019
mov dword [esp + 0x40], 0
sub edi, edx
xor ecx, 0xa154aed
xor edi, esi
and ecx, 0xa15c0ff
mov edi, ecx
mov esi, edx
bswap ecx
inc edi
xchg esi, ecx
add esi, edi
sub edi, ecx
and edi, 0xa17a2e9
jmp 0x47950c
mov ebx, dword [esp + 0x2c]
and edi, 0xa2acf61
inc esi
xchg edi, esi
add edi, edx
and ecx, esi
bswap esi
shl edi, 0xb
xchg edx, esi
sub esi, edx
mov edx, 0xa2cee2d
shr ecx, 0xc
add ecx, 0xa2d65d1
or ecx, edi
mov edx, esi
jmp 0x4792e9
mov ebx, dword [ebx]
or ecx, edi
mov edx, ecx
add esi, edi
xchg esi, edx
and edx, edi
ror edi, 0xe
jmp 0x477694
xor al, byte [ebx]
rol ecx, 1
mov ecx, 0xa48709f
mov esi, edx
not edi
and edx, esi
add edi, esi
jmp 0x478d4a
pop ebx
xor ecx, esi
inc esi
xchg esi, ecx
xor edi, ecx
xor esi, edi
and edx, edi
jmp 0x478b36
mov ebx, dword [ebx]
sub edi, esi
mov esi, ecx
mov esi, edx
inc edx
add edi, 0xa5d45c1
shr ecx, 0x19
rol ecx, 0xe
and ecx, 0xa5df7e7
and ecx, esi
add esi, edi
mov esi, ecx
dec ecx
jmp 0x478854
mov ebx, dword [esp + 0x40]
xor edi, 0xaa07e59
sub esi, edi
mov esi, edx
and edi, ecx
sub ecx, 0xaa174b3
add edx, ecx
or ecx, 0xaa1e885
xor edx, 0xaa224c7
or edx, 0xaa2601b
and ecx, 0xaa29baf
shl edx, 9
dec edx
jmp 0x4766f6
mov ebx, dword [ebx]
bswap edx
or ecx, 0xac3455b
mov ecx, esi
or esi, edi
add edi, esi
or esi, ecx
shl ecx, 0xe
and edi, esi
jmp 0x478c8a
mov dword [esp + 0xbc], ebx
and edx, edi
sub edx, edi
xor edx, 0xae7c7dd
and edi, edx
and esi, ecx
mov esi, edi
and ecx, esi
mov edi, 0xae8f6cb
add esi, 0xae93241
xor edx, 0xae96e5f
jmp 0x478bb2
cmp byte [ebx], 0
jmp 0x475abd
add ebx, dword [esp + 0xbc]
ror edi, 0xc
and edx, edi
mov ecx, 0xb11fff7
or ecx, 0xb123883
sub ecx, 0xb128101
add ecx, edx
jmp 0x4758e5
mov dword [esp + 0x40], ebx
rol ecx, 0x1a
sub edi, edx
or esi, ecx
rol edx, 2
sub edx, edi
add esi, ecx
xor ecx, edx
and esi, edi
xor esi, edx
neg edx
dec esi
xor esi, 0xb1a28f5
or edi, edx
shl ecx, 8
mov edi, edx
add esi, ecx
jmp 0x477f24
mov dword [esp + 0x40], ebx
dec ecx
add esi, 0xb2d6513
inc ecx
xor esi, 0xb2decb5
add ecx, esi
shl ecx, 0x1a
jmp 0x477caa
xor eax, eax
xchg edx, ecx
xchg ecx, edi
sub esi, 0xb36ac33
not esi
add edi, ecx
shl esi, 0xf
mov ecx, edx
xor ecx, edx
sub esi, ecx
shr esi, 0xf
sub edi, ecx
or edi, ecx
add edi, edx
sub edx, ecx
jmp 0x476ae8
mov ebx, dword [esp + 0x40]
add ecx, 0xb4051d7
mov edx, ecx
sub edx, ecx
sub edi, 0xb40ff95
or edx, edi
ror ecx, 6
xchg edx, ecx
and edi, 0xb41fb6b
shr ecx, 0xe
bswap ecx
jmp 0x478b65
mov dword [esp + 0x2c], 0
or edi, esi
xor esi, ecx
not edi
dec ecx
sub edi, edx
dec ecx
shl esi, 0x19
dec esi
shr edx, 0x14
bswap esi
jmp 0x47882c
mul ebx
add esi, 0xb5f4537
add ecx, edi
shr ecx, 0x10
xchg ecx, esi
mov edx, ecx
xor edx, ecx
neg esi
sub edx, 0xb60df63
sub edx, 0xb612a2f
sub edx, esi
and edx, ecx
or edi, ecx
jmp 0x476484
mov ebx, dword [esp + 0x40]
xor esi, edi
sub ecx, esi
and edx, esi
sub esi, edi
and ecx, 0xb630ec7
shr edi, 0x1c
sub esi, 0xb6395e9
add esi, 0xb63d171
sub edi, 0xb640cb3
mov edi, edx
jmp 0x476a85
mov ebx, dword [esp + 0xf0]
and esi, 0xb7beb99
xor edi, esi
or esi, edx
nop
ror edx, 5
shl edx, 0x11
add edx, esi
xor edx, 0xb7d730b
jmp 0x477f54
add dword [esp + 0x40], 0x78
sub edi, 0xbaa34fd
or esi, edi
mov edi, 0xbaaa58b
add edx, edi
and edx, esi
add ecx, 0xbab5c9f
or esi, ecx
xchg edi, edx
or esi, edi
xor edx, 0xbac3f33
jmp 0x476051
add ebx, dword [esp + 0x2c]
shl edx, 1
and ecx, edx
ror ecx, 9
sub edi, edx
xor edx, esi
ror esi, 0x16
neg ecx
sub edi, edx
or edx, ecx
xor esi, edi
inc edi
sub esi, edx
jmp 0x47613f
inc dword [esp + 0x2c]
or ecx, esi
mov esi, ecx
or esi, edi
xor esi, edx
mov edx, edi
sub edx, edi
inc edx
mov edi, edx
or edi, edx
inc ecx
xor ecx, 0xbd400a1
add esi, 0xbd43a0d
and edi, edx
sub ecx, edx
and esi, edx
xchg ecx, edi
jmp 0x4763f9
mov ebx, dword fs:[ebx]
add esi, 0xbdbaa5b
mov esi, ecx
xchg esi, edx
or edi, 0xbdc7c4b
or edi, ecx
xor edx, edi
jmp 0x475472
mov dword [esp + 0xf0], 0
mov edx, ecx
sub edx, ecx
add ecx, edi
xchg ecx, edx
shl ecx, 0x1c
mov esi, 0xc4b7a63
sub esi, 0xc4bc20b
neg ecx
jmp 0x478c70
mov ebx, dword [ebx]
mov ecx, esi
xchg edi, edx
or esi, 0xc4cc849
mov edx, esi
add esi, ecx
sub esi, edx
dec edi
xchg esi, ecx
sub ecx, edi
add ecx, esi
jmp 0x476799
mov ebx, dword [ebx]
add edi, edx
nop
rol edx, 0xd
shl edi, 0x1e
and edi, ecx
mov edx, 0xc7bf0d1
sub edi, esi
xor esi, edx
xor esi, 0xc7ca099
or edi, ecx
jmp 0x479224
cmp eax, dword [esp + 0xd8]
jmp 0x475a36
mov ebx, dword [ebx]
mov esi, 0xc812fc3
and edi, edx
and edi, 0xc81a3b7
ror esi, 0x16
xor edx, 0xc822b57
and esi, edi
xor edx, esi
xor edx, edi
or esi, edi
and edi, esi
jmp 0x475e65
mov ebx, dword [esp + 0xbc]
and edi, ecx
sub ecx, esi
shr edx, 0xf
and edi, esi
mov esi, 0xc8803ad
dec edx
jmp 0x478d8c
mov dword [esp + 0xbc], 0
shr edi, 7
add esi, edx
add esi, ecx
shr edx, 2
jmp 0x476814
add ebx, dword [esp + 0xbc]
xor edx, ecx
xor esi, edx
add edi, ecx
or ecx, edi
sub edi, edx
or ecx, 0xc96edb3
neg edx
xor ecx, edi
jmp 0x475281
rol eax, 8
or ecx, esi
and ecx, esi
mov esi, edi
rol edx, 2
add esi, ecx
or edi, esi
sub edx, esi
bswap ecx
sub ecx, esi
sub esi, ecx
jmp 0x4759b4
add ebx, 0x3c
shr edi, 0x13
or ecx, 0xca7aa9f
sub ecx, esi
and edx, esi
rol edx, 9
shr edi, 0x11
jmp 0x478e66
mov ebx, dword [ebx]
and edx, ecx
mov ecx, edi
or ecx, edi
not edi
add edi, ecx
and edx, esi
xor esi, 0xcb83047
xor ecx, edi
xor edx, esi
and edi, edx
sub edi, esi
add ecx, esi
jmp 0x4776f7
mov ebx, dword [esp + 0xf0]
dec edi
xor ecx, esi
and edi, 0xcbbf455
sub esi, 0xcbc2d87
and edi, ecx
and esi, edx
xor edi, 0xcbcd6c9
add ecx, 0xcbd1063
xchg edi, esi
or edi, ecx
shr esi, 0x1c
xchg edi, esi
or ecx, esi
add edi, ecx
xor esi, 0xcbeab21
rol esi, 0x10
jmp 0x477218
sub esp, 0x15c
inc esi
mov ecx, esi
shl edi, 0x13
sub esi, edx
jmp 0x4779d0
mov ebx, 0x30
bswap ecx
mov edx, ecx
bswap edx
shr edi, 5
or edi, edx
or esi, 0xce1eabd
jmp 0x4781e5
mov dword [esp + 0x40], ebx
add edi, esi
or edi, ecx
add esi, edx
add edx, 0xcf47591
or ecx, edx
add ecx, edi
shl esi, 1
rol ecx, 7
xor ecx, edx
add edi, 0xcf5c4df
or ecx, 0xcf5fa01
and edx, esi
sub edi, ecx
add esi, edi
jmp 0x475835
mov ebx, dword [ebx]
or edx, esi
nop
and edi, 0xcf758e7
dec edi
mov edx, ecx
or esi, edi
jmp 0x476c0c
mul ebx
sub esi, edx
nop
and esi, 0xd003bd5
xchg edi, ecx
jmp 0x4758b5
mov dword [esp + 0xd8], ebx
xor edi, esi
and edi, edx
or edi, edx
sub edx, 0xd247163
ror ecx, 1
or esi, ecx
and ecx, edi
mov edx, 0xd25621b
sub edx, edi
bswap ecx
mov edx, esi
not ecx
jmp 0x4790f0