Function at 0x4788f9
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [ebx]
and esi, ecx
sub edi, 0x883667f6
neg ecx
xor edx, edi
inc ecx
add edi, esi
sub esi, ecx
mov esi, edx
or esi, 0x883a071e
and edi, edx
and esi, edi
shr esi, 6
jmp 0x479014
mul ebx
add edi, 0x8842d8e7
mov edx, ecx
sub ecx, 0x8843eff2
sub ecx, edx
jmp 0x4775e1
mul ebx
sub ecx, esi
xor ecx, 0x88930e40
ror edi, 0xe
and ecx, 0x889416da
xor ecx, edx
mov esi, 0x889514db
sub ecx, 0x889598ca
dec ecx
add esi, 0x8896b646
mov edx, esi
jmp 0x47840e
add dword [esp + 4], ebx
ror ecx, 3
neg edi
mov edx, edi
inc edi
and edx, ecx
dec edi
nop
or ecx, edi
or esi, edi
jmp 0x476125
add ebx, dword [esp + 0xcc]
xor esi, 0x88a42453
or edx, ecx
add ecx, esi
xor esi, edx
add edi, 0x88a61d5d
sub edi, ecx
or edi, edx
rol edi, 0xa
xchg ecx, edi
shl ecx, 5
xor edi, ecx
xor edx, edi
xor esi, edi
and ecx, esi
jmp 0x477cb2
jne 0x479200
inc ecx
shl esi, 0x15
add esi, edx
jmp 0x4776b7
jne 0x4777d5
sub edi, esi
mov esi, 0x88e148ba
mov edi, esi
or ecx, edi
shl edi, 5
xchg edx, esi
shr edx, 8
jmp 0x476b9b
cmp byte [ebx], 0
jmp 0x475b7d
mov ebx, dword [esp + 4]
xchg ecx, esi
mov edx, 0x8912e6d0
xchg edx, ecx
or ecx, edx
or esi, 0x8914610a
sub edx, ecx
xor edi, ecx
sub esi, 0x8915fb48
sub esi, edx
xor edi, edx
sub edi, ecx
or edx, edi
neg edx
xchg esi, edi
jmp 0x478f9b
add dword [esp + 4], 0x78
mov edx, ecx
or esi, ecx
ror edi, 8
not edi
or edx, 0x8987bb0b
sub edi, 0x89885ce8
mov esi, ecx
and edi, ecx
xor ecx, 0x8989d8da
add ecx, 0x898a5de8
add edx, esi
and ecx, esi
xor edi, 0x898bd2ac
jmp 0x47897e
mov dword [esp + 0xcc], 0
sub esi, edx
bswap ecx
ror ecx, 3
mov esi, ecx
mov ecx, edx
neg edx
add ecx, 0x8998bfbf
nop
jmp 0x478e52
add dword [esp + 4], 0x20
xchg edx, esi
not ecx
xchg esi, edx
sub ecx, edi
and edx, edi
and edx, 0x89b3fc42
dec ecx
ror esi, 0x1c
add edx, ecx
and ecx, esi
xchg edi, edx
jmp 0x4769ca
mov dword [esp + 4], ebx
or ecx, edx
neg ecx
mov esi, edx
xchg edx, edi
xchg edi, ecx
xor ecx, edi
sub esi, 0x89d04e2d
add edx, 0x89d0cd01
xor edi, 0x89d1530d
add ecx, edx
jmp 0x475ff4
movzx ebx, word [ebx]
and edi, 0x89d2792d
xor edx, ecx
and edi, ecx
add esi, edx
xor esi, 0x89d509fc
or esi, 0x89d597db
jmp 0x475961
mov ebx, dword [esp + 4]
not esi
not edi
or esi, 0x8a778a46
bswap ecx
jmp 0x478582
add dword [esp + 0xf0], 4
sub edi, edx
sub edi, esi
sub edi, edx
xchg ecx, edi
add ecx, edi
xchg esi, edi
mov esi, edi
and edx, edi
and edi, ecx
jmp 0x478e87
mov ebx, dword [ebx]
inc ecx
xchg edi, edx
shl esi, 0x1c
shl esi, 0xb
sub ecx, edi
mov edi, 0x8b025402
and esi, ecx
shl edx, 0x10
ror esi, 1
jmp 0x4761c2
cmp eax, dword [esp + 0x50]
jmp 0x475aea
mov ebx, dword [ebx]
not esi
and edx, esi
shl ecx, 0x1f
xchg edi, esi
xor edx, esi
and esi, edi
xor ecx, 0x8b260173
shr edi, 0x17
add ecx, esi
jmp 0x476da2
mov ebx, dword [esp + 0xf8]
not esi
shr edi, 0x1d
mov ecx, edi
and ecx, 0x8b456890
sub esi, ecx
jmp 0x478111
mov dword [esp + 0xf0], ebx
sub esi, edi
add esi, edi
xor edx, 0x8b5255b0
xor ecx, edi
add edx, esi
dec ecx
xchg edi, esi
xchg edi, esi
rol ecx, 0x1b
jmp 0x479200
mov ebx, dword [esp + 4]
and edi, edx
and edx, ecx
or esi, 0x8b57341d
mov edi, esi
sub ecx, edx
xor edi, ecx
jmp 0x477496
pop ebx
neg edx
neg esi
xor edx, 0x8b9a2504
add ecx, esi
shr esi, 0x1c
rol esi, 0xd
jmp 0x4767fd
add ebx, dword [esp + 0xf8]
xchg esi, edi
or edi, 0x8be260eb
or edi, ecx
mov ecx, edi
add edi, 0x8be3e1f9
mov edx, esi
or edi, edx
sub esi, 0x8be558b1
xor edi, edx
dec esi
mov edi, edx
and ecx, edi
sub ecx, esi
shr esi, 1
jmp 0x477efb
mov ebx, dword [esp + 0xf0]
add ecx, esi
xor edi, 0x8c003398
shl edx, 0x14
mov edx, ecx
inc edi
and ecx, 0x8c024263
or edi, 0x8c02e279
inc esi
and edi, 0x8c03e649
bswap edx
sub edx, 0x8c04f311
xor edx, 0x8c0575a2
and edi, ecx
mov edx, 0x8c066b86
jmp 0x4759e0
mov ebx, dword [ebx]
mov ecx, 0x8c0be694
xor edi, esi
neg ecx
or esi, edx
mov edi, 0x8c0df1e2
xchg esi, ecx
sub edi, esi
sub esi, 0x8c0f9104
sub ecx, edx
ror edx, 0x10
xor edi, edx
mov ecx, edi
sub edi, edx
jmp 0x4785ed
mov dword [esp + 0xf8], 0
shl ecx, 0x1a
xor esi, 0x8c28a12e
sub edi, edx
not edi
xchg edi, ecx
xor edi, esi
and ecx, edx
mov ecx, 0x8c2ba563
rol esi, 0x17
mov ecx, edx
or esi, edi
add esi, ecx
mov ecx, esi
mov esi, 0x8c2ea16f
mov esi, edx
inc esi
jmp 0x4778a1
mov ebx, dword fs:[ebx]
xchg ecx, esi
mov esi, ecx
or edi, edx
and edi, esi
add edx, 0x8c42d5e0
sub edx, ecx
mov edi, esi
rol ecx, 7
sub esi, ecx
and edx, esi
sub esi, edx
jmp 0x477f74
sub dword [esp + 4], 8
neg ecx
xor edx, 0x8cbf6c26
mov edx, esi
xor edi, 0x8cc06fae
mov edx, ecx
or edi, ecx
mov edx, esi
add edi, ecx
ror edx, 0x15
dec edi
and esi, edx
rol ecx, 0x11
inc edx
jmp 0x47825c
inc ebx
add ecx, 0x8ce48724
sub edx, ecx
xor edx, ecx
or ecx, 0x8ce5ff6d
xor esi, edx
xchg esi, ecx
mov edx, edi
xor edi, esi
jmp 0x475c1e
add esp, 0x148
sub ecx, edi
mov esi, 0x8cf314db
rol ecx, 0xe
neg edx
xchg edx, esi
and ecx, 0x8cf50ee7
dec ecx
xor edi, ecx
jmp 0x477dc5
mov ebx, dword [ebx]
sub esi, ecx
xor edi, ecx
or edx, esi
rol ecx, 0x16
add ecx, esi
and edx, esi
and esi, 0x8cf9bd7e
ror esi, 0x19
bswap ecx
mov ecx, 0x8cfb51d5
xor edx, 0x8cfbcf69
sub ecx, esi
and edi, edx
shr esi, 0xa
neg esi
sub edx, edi
jmp 0x479101
mov ebx, dword [ebx]
ror ecx, 0x12
or edi, 0x8d034621
sub edx, ecx
inc esi
nop
xor esi, ecx
and edx, esi
mov edi, 0x8d06691f
xor edx, ecx
jmp 0x479035
mov dword [esp + 0xcc], eax
xor esi, edi
or ecx, edx
and edx, esi
or edi, ecx
sub ecx, esi
neg esi
not ecx
shr edi, 1
sub edx, 0x8d269687
jmp 0x477309
add dword [esp + 4], 4
and edi, ecx
xor ecx, esi
and edx, ecx
or esi, ecx
or edi, ecx
sub edx, esi
and edx, 0x8d433847
xchg edi, ecx
xor ecx, 0x8d445739
or edx, edi
jmp 0x4764ca
xor al, byte [ebx]
sub edi, edx
xchg edi, ecx
not ecx
dec esi
shl edx, 0x1c
mov esi, edi
xor ecx, edi
rol ecx, 0x1a
and edi, edx
jmp 0x4784d7
mov dword [esp + 4], 0
and esi, 0x8d848033
or ecx, edi
inc edx
or esi, ecx
and edi, 0x8d866439
xchg edi, esi
mov esi, ecx
jmp 0x478170
mov dword [esp + 0xf0], ebx
sub edx, ecx
and ecx, edx
xor edx, edi
xchg edi, esi
sub ecx, esi
mov esi, edx
neg edx
or ecx, 0x8da9702f
xor ecx, esi
jmp 0x477cfd
add ebx, dword [esp + 0xf8]
or esi, edx
mov edi, ecx
xchg edi, ecx
ror edi, 0x10
xchg edi, ecx
neg edx
xchg ecx, edx
xchg ecx, edi
mov edx, ecx
sub esi, edi
xor esi, ecx
jmp 0x478ceb
add ebx, dword [esp + 0xf8]
xchg esi, ecx
neg edi
inc esi
and edi, ecx
nop
and edx, ecx
or edi, 0x8dd15975
mov edi, ecx
and edi, ecx
inc edx
sub ecx, esi
jmp 0x4779a2
mov eax, 4
mov ecx, edx
dec ecx
ror esi, 7
xor edi, 0x8e1b0e59
not esi
sub edi, edx
mov esi, 0x8e1cb910
mov edi, edx
and esi, 0x8e1dcad3
not ecx
and edi, 0x8e1ed465
jmp 0x4761ee
mov eax, 2
mov edi, esi
xor esi, ecx
xchg esi, ecx
xor esi, ecx
nop
xor edx, ecx
mov ecx, edx
xor edi, esi
mov edx, 0x8e27eff4
xor edx, esi
jmp 0x477eb4
ret
mov ebx, dword [esp + 0xf8]
sub edi, 0x8e5c9b16
bswap edi
or edi, edx
and edi, 0x8e5e3501
mov ecx, 0x8e5ebd1e
shl esi, 0x1c
shr ecx, 0x1a
mov esi, edi
add edx, esi
not edi
dec edi
inc edi
xchg ecx, edi
and edi, ecx
rol ecx, 3
jmp 0x4759b0
mov ebx, dword [esp + 0xcc]
mov esi, ecx
add edi, 0x8e6bcf79
neg ecx
and esi, edi
and esi, edx
or edi, esi
mov edi, ecx
add edi, esi
and edi, esi
bswap edi
xor edi, ecx
jmp 0x47574f
mov dword [esp + 4], ebx
xor edx, edi
mov ecx, 0x8e784389
or esi, ecx
xchg ecx, edi
xor esi, edi
mov ecx, edi
xor edi, 0x8e7b0798
xchg ecx, edi
xor esi, edx
jmp 0x476e65
mov ebx, dword [ebx]
sub edx, esi
or edx, edi
shr edx, 0x11
add esi, ecx
xchg edx, esi
inc ecx
and edi, ecx
or edi, esi
jmp 0x4774e7
add ebx, 0xc
inc esi
or edi, 0x8e8a2892
or edi, ecx
dec ecx
xor edx, ecx
neg ecx
xor ecx, esi
inc edx
jmp 0x476ed7
add ebx, 0x3c
rol ecx, 8
xor edi, edx
not ecx
shl edx, 0x19
shl esi, 7
sub edi, edx
xchg edi, ecx
mov ecx, 0x8ecc82ba
mov ecx, 0x8ecd0d8b
neg edx
or edx, edi
xchg edx, edi
jmp 0x4767a4
mov dword [esp + 0x50], ebx
xor edx, ecx
or ecx, edi
xor ecx, 0x8ed6c418
neg edx
shl edi, 5
or edi, edx
not edx
or ecx, edi
dec esi
mov edx, esi
or edx, 0x8edadaa1
shr edx, 0x10
jmp 0x47819d
mov ebx, 0x30
neg ecx
ror esi, 6
bswap edi
or esi, 0x8edd8d1c
mov esi, edi
dec edx
sub esi, ecx
xchg ecx, edx
bswap ecx
rol ecx, 8
add esi, 0x8ee106c4
mov ecx, esi
and esi, 0x8ee1f01f
jmp 0x477034
add ebx, dword [esp + 0xf8]
xor edx, esi
sub edi, edx
xor edx, ecx
not esi
mov edx, ecx
ror edx, 0xb
dec ecx
ror edx, 0x13
and esi, edx
xor ecx, edi
add edi, 0x8ee76e53
sub edi, edx
jmp 0x477474
mov ebx, dword [esp + 4]
sub esi, edi
sub esi, edi
add ecx, 0x8ef6b790
or ecx, edx
xchg ecx, edi
shr esi, 0x13
inc esi
xchg edx, ecx
jmp 0x47688b
add dword [esp + 4], eax
add edi, esi
sub edx, ecx
sub esi, ecx
and ecx, edi
mov esi, ecx
and edi, edx
not esi
mov edx, esi
mov edx, 0x8f39ed43
xchg edi, esi
mov edx, edi
sub edi, edx
sub edi, esi
and edi, edx
dec edi
jmp 0x475cd5
mov ebx, dword [ebx]
xor edi, esi
and ecx, esi
and ecx, 0x8f3f543b
dec ecx
or ecx, edx
xchg edi, edx
jmp 0x47895a
rol eax, 8
add edi, esi
mov edx, 0x8f53da03
add edi, ecx
jmp 0x47740b
mov ebx, dword [ebx]
or edi, esi
nop
sub esi, 0x8f70aca7
sub ecx, edx
ror edi, 0x1e
jmp 0x477aba
add ebx, 0xc
mov edi, ecx
xor edi, ecx
shr edi, 0xb
mov esi, 0x8f8129f1
mov edi, esi
or edx, edi
jmp 0x477f48
sub esp, 0x148
or edi, 0x982bda75
xor esi, edx
add edx, ecx
xchg ecx, edx
mov edx, 0x982e09f2
and ecx, 0x982e883e
rol edx, 0x1e
inc ecx
xchg edx, esi
mov edi, esi
jmp 0x47607b
mov dword [esp + 4], ebx
nop
dec ecx
xor ecx, 0x983ecdef
shl esi, 8
add esi, 0x983feb07
bswap edx
shl edi, 0x16
mov esi, ecx
jmp 0x477e56
mov ebx, dword [esp + 0xf8]
sub edx, edi
mov edx, esi
shr edx, 6
and edx, esi
mov ecx, edi
xchg esi, ecx
xchg ecx, esi
add esi, ecx
or ecx, edx
xchg edx, edi
xchg esi, ecx
mov edx, ecx
jmp 0x478c9a
mov ebx, dword [ebx]
mov edx, edi
and edx, edi
xchg edx, ecx
add esi, 0x9867688b
jmp 0x477a32
add ebx, 0x18
add edx, ecx
ror ecx, 9
dec ecx
mov esi, edi
dec edx
add ecx, edx
sub esi, 0x9870ef30
and edi, 0x98716e83
or esi, 0x9871f06e
and edx, 0x98727521
sub esi, edi
sub edi, 0x987370f8
jmp 0x4756ee
xor eax, eax
and edi, ecx
or edi, esi
ror edx, 0xd
add esi, edi
bswap edi
inc esi
xor edx, ecx
and esi, edi
bswap esi
shl ecx, 6
not esi
add ecx, 0x98aab82e
rol ecx, 3
jmp 0x4777d5
add ebx, dword [esp + 4]
shr edx, 3
sub esi, edi
and edx, edi
mov edx, esi
xor ecx, 0x98bd6f49
add edx, edi
jmp 0x47843a
push ebx
sub ecx, 0x98c6b115
or edi, ecx
mov edx, ecx
and edi, edx
mov edi, ecx
and esi, 0x98c920eb
sub ecx, edx
ror esi, 1
add edx, edi
or esi, edi
jmp 0x478c0b
mov dword [esp + 0xf0], 0
xchg esi, ecx
or ecx, esi
and ecx, edx
rol ecx, 0x1a
xchg edx, ecx
dec edx
sub esi, edx
mov edx, esi
xor esi, edi
jmp 0x476f82
mov ebx, dword [esp + 0xf0]
add edx, edi
mov esi, edx
inc ecx
neg ecx
neg edx
shl edi, 0x18
xor esi, ecx
xchg edi, ecx
sub esi, ecx
sub ecx, 0x99056bfb
bswap edx
add esi, edx
jmp 0x478a60
mov ebx, dword [ebx]
sub esi, edi
or ecx, edx
dec edx
sub esi, edx
sub edx, edi
mov edx, 0x992ccd08
xchg esi, edx
and ecx, esi
xor esi, 0x992e48fe
sub edi, edx
mov ecx, 0x992f4a17
xor edi, edx
or ecx, edi
jmp 0x4781ce
mov dword [esp + 0xf8], ebx
sub edx, edi
shl ecx, 7
bswap edi
or edi, 0x993f325d
and ecx, edi
xchg edi, edx
sub edi, ecx
xchg ecx, edi
jmp 0x47694a
mov ebx, dword [ebx]
add esi, edi
add ecx, edx
add ecx, edx
sub esi, edx
add edx, ecx
shl ecx, 0x1d
add edx, 0x9944dcb5
xor edi, edx
and ecx, esi
sub edx, esi
jmp 0x478a96
add ebx, dword [esp + 0xf8]
ror ecx, 0xa
and ecx, edi
xor ecx, edx
sub edx, esi
rol edi, 4
or esi, edx
jmp 0x4769a8
inc dword [esp + 0xcc]
add edi, ecx
xor edi, ecx
jmp 0x476509