Function at 0x477bf6
Capabilities:
Encrypt data using chaskey

Disassembly:
xor eax, eax
and edi, ecx
xor ecx, edx
or edi, 0xd934e979
xor ecx, ebx
rol edi, 0x16
xor ebx, 0xd935b66d
xor ecx, 0xd935f546
xchg ebx, edx
jmp 0x4755a2
xor al, byte [esi]
xor ecx, 0xd94ce406
xchg edx, ebx
xchg ecx, edx
or edx, edi
bswap edx
neg edx
rol edx, 0xb
mov ecx, edi
mov ecx, 0xd94ee7a3
or edx, 0xd94f269a
sub edx, ebx
xor edi, ebx
jmp 0x477b3b
inc dword [esp + 0xf0]
sub edi, edx
and edx, 0xd952d9c2
rol edx, 0x19
mov ebx, edx
mov ecx, edx
shl edx, 0xe
xor edi, 0xd9541025
jmp 0x477f2d
add esi, 0x3c
dec edx
xor edi, ebx
and ecx, ebx
sub edi, ebx
ror edx, 0x19
ror ecx, 0x13
jmp 0x475f37
jne 0x4755a2
xor edi, ebx
bswap edi
not ecx
shl ebx, 0x12
or ecx, 0xd965fb64
or edx, ebx
add edi, ebx
or ebx, edi
or edx, edi
xchg edi, ecx
or edx, 0xd9677d43
add ebx, edi
jmp 0x477495
mov esi, dword [esp + 0xbc]
or ecx, edi
sub ebx, ecx
jmp 0x4763d6
mov esi, dword [esp + 0x9c]
and edi, 0xd97f7f25
or edx, 0xd97fbfab
sub edi, ebx
or edx, 0xd9803c9d
xor edx, 0xd9808a41
shr ebx, 0xa
or ecx, 0xd9810a55
xchg ecx, edx
add edx, edi
add ecx, ebx
and ebx, edi
and edi, edx
jmp 0x4777a7
mov dword [esp + 0x114], 0
inc edx
inc ebx
or edi, ecx
not edx
or edx, ecx
mov edx, ebx
ror edi, 0x11
or edx, ebx
add edi, 0xd98605a0
mov ebx, 0xd9864302
or edi, edx
sub ecx, 0xd986c1ee
or ecx, edi
and edx, edi
xor ebx, 0xd9877aba
jmp 0x4777d0
mov esi, dword fs:[esi]
ror edx, 0xa
xor ecx, edx
shr ebx, 0x11
mov edi, ebx
and ecx, 0xd9a9df16
xor ecx, ebx
xchg edx, ecx
nop
xor ecx, ebx
neg ebx
dec edx
or edx, 0xd9abee84
or edi, ebx
jmp 0x477b91
mov eax, 2
xor ecx, edx
mov edi, ebx
sub edx, ebx
sub ebx, edx
and edi, ebx
xor ecx, edx
and ecx, edi
shl ebx, 0x1f
mov edi, ecx
jmp 0x475fb5
mov esi, dword [esi]
neg ecx
and edx, 0xd9b18545
shl edx, 6
inc ecx
sub edi, 0xd9b2478c
not edx
xor edi, edx
xchg ebx, ecx
add ecx, 0xd9b3533a
rol ecx, 0xc
and edx, edi
add ebx, edx
jmp 0x476d13
add dword [esp + 0x114], esi
neg edi
xor ecx, ebx
not edi
inc ecx
and ebx, 0xd9c00474
and edx, edi
xchg edi, edx
add edx, 0xd9c0d232
and ebx, edi
add ecx, ebx
xchg edi, edx
sub edi, ecx
add ebx, 0xd9c2483c
jmp 0x4761f9
add dword [esp + 0x114], 0x78
xor ecx, 0xd9d87281
shr edi, 0x14
or ebx, 0xd9d9027d
mov edx, 0xd9d943b9
xor edi, ebx
shl edi, 0x14
and ecx, ebx
dec ecx
jmp 0x47584e
ret
mov esi, dword [esp + 0x114]
add ebx, 0xda33b329
xor edx, ecx
add ebx, edi
xchg ecx, edx
dec ecx
xor edx, ebx
dec ebx
xor edi, ebx
bswap edi
jmp 0x476376
mov esi, dword [esi]
rol ebx, 0x1e
inc edx
xor ecx, edi
xchg edi, ecx
and edx, 0xda41eb6d
or edi, ecx
bswap ebx
shr edi, 0x1a
or edi, ebx
not edx
jmp 0x476958
add esi, dword [esp + 0x9c]
or edx, ebx
inc edx
and ebx, ecx
bswap ebx
xor edx, ebx
mov edx, 0xda457a6e
bswap edx
jmp 0x4771b9
mov esi, dword [esi]
add edx, edi
neg ecx
mov ecx, edx
inc ebx
jmp 0x477640
mov esi, dword [esp + 0xf0]
add edx, ecx
or ebx, ecx
and edi, 0xda4b50c5
mov edi, ebx
add edi, ecx
or edx, ecx
inc ecx
shr edi, 0x10
xor ebx, edi
rol ebx, 8
add ecx, 0xda4d5455
and ecx, 0xda4d9308
and edx, ecx
jmp 0x477f4f
add esi, 0x18
xor edx, edi
or ebx, 0xda58a8b4
bswap ecx
rol ecx, 0xc
add edx, ebx
and ecx, edx
xor ebx, 0xda59f2a2
jmp 0x477eb3
mov esi, dword [esp + 0xbc]
nop
mov edi, edx
add edi, ebx
inc edi
xor ebx, edi
and edi, ebx
shr edi, 0x1a
bswap ebx
xor ebx, 0xda5db4c9
ror ebx, 0x1f
jmp 0x4763b5
mov esi, dword [esp + 0x9c]
dec ecx
or edx, ecx
add ebx, 0xda697932
add ecx, 0xda69b80a
bswap edi
bswap edx
shl ecx, 0x19
or ecx, edx
xchg ecx, edi
and ebx, edi
xor ecx, ebx
jmp 0x475b8f
mov esi, dword [esp + 0x114]
or edi, edx
add edi, 0xda6eaec0
mov ecx, 0xda6eed13
xor edi, edx
xchg edx, ecx
shr ecx, 0x1b
add ebx, 0xda6fe950
xchg ecx, ebx
ror ecx, 0x19
jmp 0x476add
add dword [esp + 0x114], 0x20
mov ebx, 0xda73391e
xor ecx, edx
and ecx, edi
or ebx, edi
or ecx, ebx
sub ebx, edx
jmp 0x478348
add esi, dword [esp + 0x9c]
xor edi, ecx
mov ecx, edx
xchg edx, ebx
and ecx, ebx
inc edi
add edi, ecx
shl edi, 5
mov ecx, ebx
and ebx, ecx
xor edi, ebx
sub edi, edx
bswap ecx
xchg ebx, ecx
bswap edx
add edi, edx
or ebx, ecx
jmp 0x47686e
mov esi, dword [esi]
xor ebx, edx
xor ecx, ebx
xchg ebx, edx
rol edx, 3
mov edi, edx
and ebx, edi
or ecx, ebx
xor ecx, ebx
add edx, edi
or edx, ecx
or edx, edi
jmp 0x475f57
mov esi, dword [esi]
or ecx, 0xda9679c1
and edi, ecx
xchg edi, edx
or edi, edx
or ecx, edi
neg edx
and edi, ecx
xor ebx, edx
bswap edi
add edx, edi
and ecx, edi
jmp 0x477259
add esi, dword [esp + 0xf0]
add edi, edx
rol ecx, 0xd
shr ebx, 0x10
bswap edx
and edi, 0xda9ad8ac
sub edi, 0xda9b1783
jmp 0x477540
movzx esi, word [esi]
mov ebx, 0xdaa5bb15
rol edx, 0x1f
sub edi, ebx
sub ebx, edi
xchg ebx, edi
and ecx, edx
mov edx, ebx
or edi, ebx
or ebx, ecx
inc ebx
sub ecx, edx
jmp 0x477aa5
jne 0x4755fb
and edi, 0xdabd45a7
xchg ecx, ebx
bswap edx
and ecx, edi
or edx, 0xdabe48af
xor ecx, edi
and edi, ebx
or ebx, edi
jmp 0x47765d
mov dword [esp + 0xbc], esi
add edx, ebx
or ecx, edi
sub ebx, ecx
xor ebx, edx
add edx, edi
ror ecx, 0xb
add ebx, 0xdad79f56
dec edx
sub ebx, 0xdad81e2e
xor ecx, ebx
xor ecx, 0xdad89a68
jmp 0x4755fb
mov dword [esp + 0x114], esi
xchg ecx, ebx
xchg ecx, edi
sub edi, edx
add ecx, ebx
add edi, 0xdaf26282
or ecx, edi
sub edi, 0xdaf2df32
xor edx, ebx
mov ecx, 0xdaf35ce4
mov ecx, edi
jmp 0x47572a
sub dword [esp + 0x114], 8
dec ebx
nop
xor ebx, 0xdaf4702a
shr ebx, 9
add edx, 0xdaf4f0bf
mov ebx, 0xdaf52fae
rol ecx, 0x1c
jmp 0x4761b1
mov dword [esp + 0x114], esi
and ebx, ecx
bswap edx
and edi, 0xdb02a4dc
not ebx
xor edi, 0xdb033356
ror edi, 0x1d
neg ebx
jmp 0x475c9b
mov esi, dword [esp + 0x114]
sub edx, ecx
and edi, ecx
dec ecx
xchg edi, ecx
xchg ecx, ebx
add edx, ecx
xor edi, ebx
rol ebx, 4
shl ebx, 0x10
xor ecx, edi
jmp 0x475ad6
mov esi, dword [esi]
inc ebx
sub edx, ebx
inc edx
xchg ecx, ebx
add ebx, edx
sub edx, ebx
mov ecx, edi
shr edi, 0x10
jmp 0x4762c2
inc esi
dec edx
sub edi, 0xdb349557
rol ecx, 6
xchg edx, ecx
jmp 0x476f9b
mov dword [esp + 0x9c], 0
xor ebx, edx
not ecx
sub edi, 0xdb3d11ca
mov edi, edx
mov ecx, 0xdb3d8b45
mov edi, edx
rol edi, 0x10
jmp 0x47589e
add esi, dword [esp + 0x9c]
and edx, ecx
neg ecx
dec edx
sub ecx, edi
sub edx, 0xdb48fa4b
jmp 0x4781a4
cmp byte [esi], 0
jmp 0x4756fe
mov dword [esp + 0xbc], esi
mov ecx, ebx
xchg ecx, edi
sub ebx, 0xdba232f6
shr edx, 0x16
rol edi, 1
ror ecx, 0x12
add ebx, edi
add edi, ebx
rol ecx, 7
jmp 0x475a9e
mov esi, dword [esi]
mov ebx, edx
neg ecx
sub ebx, edi
add edx, ebx
sub edx, ecx
shr ecx, 0xc
sub ecx, 0xdba58a4d
add ebx, edx
add ebx, edx
mov edx, ebx
sub ecx, 0xdba6dbf6
xchg ecx, edi
and edx, ecx
xchg edi, ecx
and ebx, edi
jmp 0x478107
add esi, dword [esp + 0x9c]
bswap ebx
not edx
or edi, ebx
xchg edi, edx
or edx, edi
xor ecx, edx
not ecx
add ecx, edx
xchg edx, ecx
xchg ebx, ecx
xor edx, ecx
jmp 0x477292
push esi
rol ecx, 0x1e
rol edx, 9
and ecx, edi
shl edi, 4
ror ecx, 0x13
and edx, edi
add edx, ebx
inc ecx
xchg ecx, ebx
bswap edx
mov edx, 0xdbb5d6dc
ror ecx, 0x15
and edx, ecx
xchg edi, edx
or edi, edx
jmp 0x47545e
mov esi, dword [esi]
or ecx, edi
and ebx, 0xdbbece53
mov ebx, 0xdbbf0ead
shl edx, 0x1d
mov ebx, edi
xor edx, ecx
and ecx, edx
and edx, ecx
sub ebx, 0xdbc10c4d
and edx, 0xdbc14a4e
jmp 0x477d8f
mov dword [esp + 0xf0], eax
xor edx, 0xdbc58acf
nop
not edi
xor ebx, 0xdbc64c55
mov edx, ecx
jmp 0x476899
mov esi, dword [esp + 0x9c]
xchg ebx, edx
xor edi, edx
shl edi, 0x10
and ecx, ebx
and ecx, edx
sub edi, 0xdbd3cba1
and edx, 0xdbd404fb
xchg ebx, ecx
inc edi
add edi, ecx
ror ecx, 0xd
jmp 0x4756b9
pop esi
dec edi
xor ebx, edx
sub edx, ebx
mov ebx, edi
mov ecx, edi
rol ebx, 0x16
add ecx, ebx
mov edi, ecx
xor ecx, edi
add edi, edx
add edi, 0xdbd9046d
or edi, edx
and edi, edx
or ecx, ebx
or edx, 0xdbda2626
jmp 0x47814a
mov eax, 4
or ecx, 0xdbe1e10e
add edi, 0xdbe22e72
add ecx, edi
xor edi, 0xdbe2a0a6
rol edx, 4
inc ebx
jmp 0x476474
add esi, dword [esp + 0x9c]
add ebx, ecx
add edx, ecx
xchg ecx, edx
mov edx, 0xdbf77cb0
and ecx, edi
add edx, ebx
xchg edx, ebx
jmp 0x4766ff
add dword [esp + 0x114], 4
or ebx, 0xdbf89937
or ecx, edi
or edi, ebx
not edx
mov edi, 0xdbf98f36
xor ebx, 0xdbf9e082
or edi, ecx
jmp 0x475e92
add esi, dword [esp + 0x114]
mov edi, ecx
and edi, ecx
mov edx, ecx
xor ebx, edi
or edx, ebx
xchg ebx, edi
ror edi, 0x13
and edx, ecx
xor edx, 0xdc120956
xor ecx, 0xdc12454d
jmp 0x4771df
mov dword [esp + 0x12c], esi
or edi, ebx
ror edi, 0x1f
xor ebx, ecx
mov ebx, edx
sub edx, edi
not edi
xchg ebx, ecx
and edi, edx
mov ebx, edx
mov ebx, 0xdc14ca8a
and ecx, ebx
ror ecx, 0x15
shl edx, 0x19
jmp 0x477dfb
add esi, 0xc
shr edi, 0x15
sub ecx, edx
sub edi, 0xdc1bd9f9
ror edx, 6
add edi, edx
mov ebx, edx
sub edx, ebx
or ebx, 0xdc1d1bfb
jmp 0x477315
mov dword [esp + 0xf0], 0
and ebx, ecx
shl ecx, 0x16
shl edx, 5
or edi, ebx
add edx, edi
and ecx, edi
xor edi, ecx
sub edi, edx
jmp 0x47812b
mul esi
shl edi, 0x11
sub edi, 0xdc47908a
xchg ecx, edi
sub edx, 0xdc481eaf
mov ecx, edx
mov edi, ecx
xor edx, ecx
or edx, edi
add ecx, ebx
xchg ebx, ecx
jmp 0x477fc5
rol eax, 8
xor edx, edi
shl ecx, 0xa
xor ebx, ecx
add edx, ebx
or ecx, 0xdc52a825
and edx, edi
jmp 0x476beb
add esi, 0xc
xchg ecx, ebx
mov ecx, ebx
xchg ecx, edx
neg edx
xchg ebx, edx
sub ecx, 0xdc59e272
xor ecx, edi
inc edx
add ebx, edi
dec edx
sub ebx, 0xdc5b291a
jmp 0x478321
sub esp, 0x17c
or edx, ecx
add ebx, edi
xchg edx, ebx
rol ecx, 0x17
rol edx, 0x16
not edi
jmp 0x4778cd
mov esi, dword [esi]
xchg ebx, edx
nop
xchg ecx, edx
mov edi, edx
ror edi, 0xa
jmp 0x478362
mov esi, 0x30
neg ebx
sub edi, ebx
and edi, 0xdc83f2cb
xchg edi, ebx
shr ebx, 0x14
sub edi, edx
xchg edi, ecx
and ebx, edi
neg edi
sub edx, 0xdc85abe6
jmp 0x475a74
mov esi, dword [esi]
mov ebx, edi
ror ebx, 0x1d
neg edi
or edi, 0xdc90367c
and edx, ecx
add edi, ecx
shr edi, 0xc
and edx, ecx
jmp 0x477f9f
add dword [esp + 0xbc], 4
xor edx, edi
ror ebx, 0x14
or edi, ebx
inc ecx
sub edi, ebx
add ecx, edx
and ebx, 0xdc9a548f
xchg ecx, edx
inc ebx
jmp 0x4760b7
mul esi
add edx, ecx
xor ecx, edi
xor edi, 0xdc9ba0bf
xchg ecx, edx
xor edx, edi
xchg ebx, edx
and edx, ecx
or edx, edi
xor ebx, edi
add edx, ebx
and ebx, edi
and ebx, edx
xchg edx, ebx
mov edi, ecx
sub edi, ecx
add ecx, edi
jmp 0x477376
mov dword [esp + 0x9c], esi
add edi, ecx
and ebx, edi
dec edi
and ebx, edx
sub ecx, edx
or edx, edi
and ecx, 0xdca435cb
shl edx, 1
sub edx, 0xdca4b560
jmp 0x477448
add dword [esp + 0x114], eax
not ebx
xor ecx, 0xdca54d86
xor ebx, edx
mov ecx, edx
shl edx, 0x1f
jmp 0x4769b4
mov dword [esp + 0x114], esi
dec edi
bswap edi
and edi, ecx
shl ecx, 0x1d
or edi, ecx
or ecx, 0xdcbc5ead
sub ebx, edi
xchg ebx, edx
mov edi, ebx
or ebx, ecx
jmp 0x476162
mov dword [esp + 0xbc], 0
sub ebx, edx
ror ebx, 0x13
xchg edi, ecx
add ebx, edi
shr ecx, 0x11
inc edi
add ecx, edi
jmp 0x476c58
cmp eax, dword [esp + 0x12c]
jmp 0x4765ae
add esp, 0x17c
mov edi, edx
mov ecx, edi
ror ecx, 0x1a
mov edx, ebx
dec edi
and edx, edi
and edx, edi
jmp 0x475cc4
mov esi, dword [esi]
add ebx, ecx
and ecx, ebx
dec edx
mov ebx, ecx
xchg ecx, edx
xchg ebx, ecx
mov ebx, 0xdce0183d
mov edi, ecx
xchg edi, ecx
or edx, edi
inc edi
bswap ecx
xor ecx, edi
mov ebx, 0xdce1c783
jmp 0x47783e
mov esi, dword [esp + 0x114]
xchg edx, edi
ror ecx, 0x11
nop
add ebx, ecx
sub edx, ecx
mov ecx, edx
or edi, edx
jmp 0x475f73
mov esi, dword [esi]
nop
and ebx, edx
and edx, ebx
sub ebx, edi
neg ecx
sub edx, 0xdce50e7f
xor ecx, 0xdce54adf
sub ebx, ecx
not edi
add ebx, 0xdce60fd8
xchg ebx, ecx
mov edi, ecx
neg edi
xchg edx, ecx
jmp 0x47607b